<html>
<head><script>
var $gwt_version = "1.5.2";
var $wnd = parent;
var $doc = $wnd.document;
var $moduleName, $moduleBase;
var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null;
$stats && $stats({moduleName:'com.web_bloks.project.main',subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});
</script></head>
<body>
<script><!--
var _, N8000000000000000_longLit = [0, -9223372036854775808], P0_longLit = [0, 0], P1000000_longLit = [16777216, 0], P7fffffffffffffff_longLit = [4294967295, 9223372032559808512];
function equals_9(other){
  return (this == null?null:this) === (other == null?null:other);
}

function getClass_197(){
  return Ljava_lang_Object_2_classLit;
}

function hashCode_8(){
  return this.$H || (this.$H = ++sNextHashId);
}

function toString_20(){
  return (this.typeMarker$ == nullMethod || this.typeId$ == 2?this.getClass$():Lcom_google_gwt_core_client_JavaScriptObject_2_classLit).typeName + '@' + toPowerOfTwoString(this.typeMarker$ == nullMethod || this.typeId$ == 2?this.hashCode$():this.$H || (this.$H = ++sNextHashId), 4);
}

function Object_0(){
}

_ = Object_0.prototype = {};
_.equals$ = equals_9;
_.getClass$ = getClass_197;
_.hashCode$ = hashCode_8;
_.toString$ = toString_20;
_.toString = function(){
  return this.toString$();
}
;
_.typeMarker$ = nullMethod;
_.typeId$ = 1;
function $cancel(this$static){
  if (!this$static.running) {
    return;
  }
  $remove_9(animations, this$static);
  $onCancel(this$static);
  this$static.started = false;
  this$static.running = false;
}

function $onCancel(this$static){
  if (this$static.started) {
    $onComplete(this$static);
  }
}

function $run(this$static, duration, startTime){
  $cancel(this$static);
  this$static.running = true;
  this$static.duration = duration;
  this$static.startTime = startTime;
  if ($update(this$static, (new Date()).getTime())) {
    return;
  }
  if (!animations) {
    animations = $ArrayList(new ArrayList());
    animationTimer = ($clinit() , $clinit_77() , new Animation$1());
  }
  $add_8(animations, this$static);
  if (animations.size_0 == 1) {
    $schedule(animationTimer, 25);
  }
}

function $update(this$static, curTime){
  var finished, progress;
  finished = curTime >= this$static.startTime + this$static.duration;
  if (this$static.started && !finished) {
    progress = (curTime - this$static.startTime) / this$static.duration;
    $onUpdate(this$static, (1 + Math.cos(3.141592653589793 + progress * 3.141592653589793)) / 2);
    return false;
  }
  if (!this$static.started && curTime >= this$static.startTime) {
    this$static.started = true;
    $onStart(this$static);
  }
  if (finished) {
    $onComplete(this$static);
    this$static.started = false;
    this$static.running = false;
    return true;
  }
  return false;
}

function getClass_1(){
  return Lcom_google_gwt_animation_client_Animation_2_classLit;
}

function updateAnimations(){
  var animation, animation$array, animation$index, animation$max, curAnimations, curTime;
  curAnimations = initDim(_3Lcom_google_gwt_animation_client_Animation_2_classLit, 156, 49, animations.size_0, 0);
  curAnimations = dynamicCast($toArray(animations, curAnimations), 2);
  curTime = (new Date()).getTime();
  for (animation$array = curAnimations , animation$index = 0 , animation$max = animation$array.length; animation$index < animation$max; ++animation$index) {
    animation = animation$array[animation$index];
    if (animation.running && $update(animation, curTime)) {
      $remove_9(animations, animation);
    }
  }
  if (animations.size_0 > 0) {
    $schedule(animationTimer, 25);
  }
}

function Animation(){
}

_ = Animation.prototype = new Object_0();
_.getClass$ = getClass_1;
_.typeId$ = 3;
_.duration = -1;
_.running = false;
_.startTime = -1;
_.started = false;
var animationTimer = null, animations = null;
function $clinit_77(){
  $clinit_77 = nullMethod;
  timers = $ArrayList(new ArrayList());
  addWindowCloseListener(new Timer$1());
}

function $cancel_1(this$static){
  if (this$static.isRepeating) {
    $wnd.clearInterval(this$static.timerId);
  }
   else {
    $wnd.clearTimeout(this$static.timerId);
  }
  $remove_9(timers, this$static);
}

function $fireImpl(this$static){
  if (!this$static.isRepeating) {
    $remove_9(timers, this$static);
  }
  this$static.run();
}

function $schedule(this$static, delayMillis){
  if (delayMillis <= 0) {
    throw $IllegalArgumentException(new IllegalArgumentException(), 'must be positive');
  }
  $cancel_1(this$static);
  this$static.isRepeating = false;
  this$static.timerId = createTimeout(this$static, delayMillis);
  $add_8(timers, this$static);
}

function createTimeout(timer, delay){
  return $wnd.setTimeout(function(){
    timer.fire();
  }
  , delay);
}

function fire(){
  $fireImpl(this);
}

function getClass_32(){
  return Lcom_google_gwt_user_client_Timer_2_classLit;
}

function Timer(){
}

_ = Timer.prototype = new Object_0();
_.fire = fire;
_.getClass$ = getClass_32;
_.typeId$ = 4;
_.isRepeating = false;
_.timerId = 0;
var timers;
function $clinit(){
  $clinit = nullMethod;
  $clinit_77();
}

function getClass_0(){
  return Lcom_google_gwt_animation_client_Animation$1_2_classLit;
}

function run(){
  updateAnimations();
}

function Animation$1(){
}

_ = Animation$1.prototype = new Timer();
_.getClass$ = getClass_0;
_.run = run;
_.typeId$ = 5;
function $initCause(this$static, cause){
  if (this$static.cause) {
    throw $IllegalStateException(new IllegalStateException(), "Can't overwrite cause");
  }
  if (cause == this$static) {
    throw $IllegalArgumentException(new IllegalArgumentException(), 'Self-causation not permitted');
  }
  this$static.cause = cause;
  return this$static;
}

function $toString_4(this$static){
  var className, msg;
  className = this$static.getClass$().typeName;
  msg = this$static.detailMessage;
  if (msg != null) {
    return className + ': ' + msg;
  }
   else {
    return className;
  }
}

function getClass_202(){
  return Ljava_lang_Throwable_2_classLit;
}

function toString_24(){
  return $toString_4(this);
}

function Throwable(){
}

_ = Throwable.prototype = new Object_0();
_.getClass$ = getClass_202;
_.toString$ = toString_24;
_.typeId$ = 6;
_.cause = null;
_.detailMessage = null;
function $Exception(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_190(){
  return Ljava_lang_Exception_2_classLit;
}

function Exception(){
}

_ = Exception.prototype = new Throwable();
_.getClass$ = getClass_190;
_.typeId$ = 7;
function $RuntimeException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_198(){
  return Ljava_lang_RuntimeException_2_classLit;
}

function RuntimeException(){
}

_ = RuntimeException.prototype = new Exception();
_.getClass$ = getClass_198;
_.typeId$ = 8;
function $JavaScriptException(this$static, e){
  $Exception(this$static, '(' + getName(e) + '): ' + getDescription(e) + (e != null && (e.typeMarker$ != nullMethod && e.typeId$ != 2)?getProperties0(dynamicCastJso(e)):''));
  getName(e);
  this$static.description = getDescription(e);
  getException(e);
  return this$static;
}

function getClass_2(){
  return Lcom_google_gwt_core_client_JavaScriptException_2_classLit;
}

function getDescription(e){
  if (e != null && (e.typeMarker$ != nullMethod && e.typeId$ != 2)) {
    return getDescription0(dynamicCastJso(e));
  }
   else {
    return e + '';
  }
}

function getDescription0(e){
  return e == null?null:e.message;
}

function getException(e){
  if (e != null && (e.typeMarker$ != nullMethod && e.typeId$ != 2)) {
    return dynamicCastJso(e);
  }
   else {
    return null;
  }
}

function getName(e){
  if (e == null) {
    return 'null';
  }
   else if (e != null && (e.typeMarker$ != nullMethod && e.typeId$ != 2)) {
    return getName0(dynamicCastJso(e));
  }
   else if (e != null && canCast(e.typeId$, 1)) {
    return 'String';
  }
   else {
    return (e.typeMarker$ == nullMethod || e.typeId$ == 2?e.getClass$():Lcom_google_gwt_core_client_JavaScriptObject_2_classLit).typeName;
  }
}

function getName0(e){
  return e == null?null:e.name;
}

function getProperties0(e){
  var result = '';
  try {
    for (prop in e) {
      if (prop != 'name' && (prop != 'message' && prop != 'toString')) {
        try {
          result += '\n ' + prop + ': ' + e[prop];
        }
         catch (ignored) {
        }
      }
    }
  }
   catch (ignored) {
  }
  return result;
}

function JavaScriptException(){
}

_ = JavaScriptException.prototype = new RuntimeException();
_.getClass$ = getClass_2;
_.typeId$ = 9;
_.description = null;
function createFunction(){
  return function(){
  }
  ;
}

function equals__devirtual$(this$static, other){
  return this$static.typeMarker$ == nullMethod || this$static.typeId$ == 2?this$static.equals$(other):(this$static == null?null:this$static) === (other == null?null:other);
}

function hashCode__devirtual$(this$static){
  return this$static.typeMarker$ == nullMethod || this$static.typeId$ == 2?this$static.hashCode$():this$static.$H || (this$static.$H = ++sNextHashId);
}

function toString__devirtual$(this$static){
  return this$static.typeMarker$ == nullMethod || this$static.typeId$ == 2?this$static.toString$():this$static.toString?this$static.toString():'[JavaScriptObject]';
}

function getHashCode(o){
  return o.$H || (o.$H = ++sNextHashId);
}

var sNextHashId = 0;
function $getPropertyString(this$static, name){
  return this$static[name] == null?null:String(this$static[name]);
}

function $createSelectElement(multiple){
  var select;
  select = $doc.createElement('select');
  if (multiple) {
    select.multiple = true;
  }
  return select;
}

function $getFirstChildElement(elem){
  var child = elem.firstChild;
  while (child && child.nodeType != 1)
    child = child.nextSibling;
  return child;
}

function $getParentElement(elem){
  var parent = elem.parentNode;
  if (parent == null) {
    return null;
  }
  if (parent.nodeType != 1)
    parent = null;
  return parent;
}

function $setInnerText(elem, text){
  while (elem.firstChild) {
    elem.removeChild(elem.firstChild);
  }
  if (text != null) {
    elem.appendChild($doc.createTextNode(text));
  }
}

function $isOrHasChild(parent, child){
  return parent === child || !!(parent.compareDocumentPosition(child) & 16);
}

function $getAbsoluteLeft(elem){
  var style = $doc.defaultView.getComputedStyle(elem, null);
  var left = $doc.getBoxObjectFor(elem).x - Math.round(style.getPropertyCSSValue('border-left-width').getFloatValue(CSSPrimitiveValue.CSS_PX));
  var parent = elem.parentNode;
  while (parent) {
    if (parent.scrollLeft > 0) {
      left -= parent.scrollLeft;
    }
    parent = parent.parentNode;
  }
  return left + ($clinit_83() , documentRoot).scrollLeft;
}

function $getAbsoluteTop(elem){
  var style = $doc.defaultView.getComputedStyle(elem, null);
  var top = $doc.getBoxObjectFor(elem).y - Math.round(style.getPropertyCSSValue('border-top-width').getFloatValue(CSSPrimitiveValue.CSS_PX));
  var parent = elem.parentNode;
  while (parent) {
    if (parent.scrollTop > 0) {
      top -= parent.scrollTop;
    }
    parent = parent.parentNode;
  }
  return top + ($clinit_83() , documentRoot).scrollTop;
}

function getInstance(){
  return $wnd.google && ($wnd.google.gears && $wnd.google.gears.factory);
}

function getClass_4(){
  return Lcom_google_gwt_gears_client_GearsException_2_classLit;
}

function GearsException(){
}

_ = GearsException.prototype = new Exception();
_.getClass$ = getClass_4;
_.typeId$ = 10;
function $execute_0(this$static, sqlStatement, args){
  var $e0, ex;
  try {
    return this$static.execute(sqlStatement, toJavaScriptArray(args));
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 3)) {
      ex = $e0;
      throw $DatabaseException(new DatabaseException(), ex.description, ex);
    }
     else 
      throw $e0;
  }
}

function $DatabaseException(this$static, message, cause){
  this$static.cause = cause;
  this$static.detailMessage = message;
  return this$static;
}

function getClass_5(){
  return Lcom_google_gwt_gears_client_database_DatabaseException_2_classLit;
}

function DatabaseException(){
}

_ = DatabaseException.prototype = new GearsException();
_.getClass$ = getClass_5;
_.typeId$ = 11;
function $close(this$static){
  var $e0, ex;
  try {
    this$static.close();
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 3)) {
      ex = $e0;
      throw $DatabaseException(new DatabaseException(), ex.detailMessage, ex);
    }
     else 
      throw $e0;
  }
}

function $getFieldAsString(this$static, fieldIndex){
  var $e0, ex, val;
  try {
    return val = this$static.field(fieldIndex) , val == null?null:String(val);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 3)) {
      ex = $e0;
      throw $DatabaseException(new DatabaseException(), ex.detailMessage, ex);
    }
     else 
      throw $e0;
  }
}

function toJavaScriptArray(elements){
  var array, i;
  array = [];
  for (i = 0; i < elements.length; ++i) {
    array[i] = elements[i];
  }
  return array;
}

function $setOnCompleteHandler(this$static, handler){
  this$static.oncomplete = function(details){
    fireOnComplete(handler, details);
  }
  ;
}

function $setOnErrorHandler(this$static, handler){
  this$static.onerror = function(error){
    fireOnError(handler, error);
  }
  ;
}

function fireOnComplete(handler, event_0){
  $onComplete_0(event_0);
}

function fireOnError(handler, event_0){
  logInfo(Lcom_web_1bloks_storage_client_GearsOffline$GearsEventHandler_2_classLit + '.onError, msg=' + event_0.message);
}

function getClass_6(){
  return Lcom_google_gwt_http_client_Header_2_classLit;
}

function Header(){
}

_ = Header.prototype = new Object_0();
_.getClass$ = getClass_6;
_.typeId$ = 12;
function $Request(this$static, xmlHttpRequest, timeoutMillis, callback){
  if (!xmlHttpRequest) {
    throw new NullPointerException();
  }
  if (!callback) {
    throw new NullPointerException();
  }
  if (timeoutMillis < 0) {
    throw new IllegalArgumentException();
  }
  this$static.timeoutMillis = timeoutMillis;
  this$static.xmlHttpRequest = xmlHttpRequest;
  if (timeoutMillis > 0) {
    this$static.timer = $Request$2(new Request$2(), this$static, callback);
    $schedule(this$static.timer, timeoutMillis);
  }
   else {
    this$static.timer = null;
  }
  return this$static;
}

function $cancel_0(this$static){
  var xmlHttp;
  if (this$static.xmlHttpRequest) {
    xmlHttp = this$static.xmlHttpRequest;
    this$static.xmlHttpRequest = null;
    xmlHttp.onreadystatechange = nullFunc;
    xmlHttp.abort();
    $cancelTimer(this$static);
  }
}

function $cancelTimer(this$static){
  if (this$static.timer) {
    $cancel_1(this$static.timer);
  }
}

function $fireOnResponseReceivedImpl(this$static, callback){
  var errorMsg, exception, response_0, xmlHttp, response;
  if (!this$static.xmlHttpRequest) {
    return;
  }
  $cancelTimer(this$static);
  xmlHttp = this$static.xmlHttpRequest;
  this$static.xmlHttpRequest = null;
  errorMsg = getBrowserSpecificFailure(xmlHttp);
  if (errorMsg != null) {
    exception = $RuntimeException(new RuntimeException(), errorMsg);
    callback.onError(this$static, exception);
  }
   else {
    response_0 = (response = $Request$1(new Request$1(), xmlHttp) , response);
    callback.onResponseReceived(this$static, response_0);
  }
}

function $fireOnTimeout(this$static, callback){
  if (!this$static.xmlHttpRequest) {
    return;
  }
  $cancel_0(this$static);
  callback.onError(this$static, $RequestTimeoutException(new RequestTimeoutException(), this$static.timeoutMillis));
}

function $isPending(this$static){
  var readyState;
  if (!this$static.xmlHttpRequest) {
    return false;
  }
  readyState = this$static.xmlHttpRequest.readyState;
  switch (readyState) {
    case 1:
    case 2:
    case 3:
      return true;
  }
  return false;
}

function fireOnResponseReceived(callback){
  $fireOnResponseReceivedImpl(this, callback);
}

function getClass_14(){
  return Lcom_google_gwt_http_client_Request_2_classLit;
}

function Request(){
}

_ = Request.prototype = new Object_0();
_.fireOnResponseReceived = fireOnResponseReceived;
_.getClass$ = getClass_14;
_.typeId$ = 0;
_.timeoutMillis = 0;
_.timer = null;
_.xmlHttpRequest = null;
function getClass_15(){
  return Lcom_google_gwt_http_client_Response_2_classLit;
}

function Response(){
}

_ = Response.prototype = new Object_0();
_.getClass$ = getClass_15;
_.typeId$ = 0;
function $Request$1(this$static, val$xmlHttpRequest){
  this$static.val$xmlHttpRequest = val$xmlHttpRequest;
  return this$static;
}

function getClass_7(){
  return Lcom_google_gwt_http_client_Request$1_2_classLit;
}

function Request$1(){
}

_ = Request$1.prototype = new Response();
_.getClass$ = getClass_7;
_.typeId$ = 0;
_.val$xmlHttpRequest = null;
function $clinit_34(){
  $clinit_34 = nullMethod;
  $clinit_77();
}

function $Request$2(this$static, this$0, val$callback){
  $clinit_34();
  this$static.this$0 = this$0;
  this$static.val$callback = val$callback;
  return this$static;
}

function getClass_8(){
  return Lcom_google_gwt_http_client_Request$2_2_classLit;
}

function run_0(){
  $fireOnTimeout(this.this$0, this.val$callback);
}

function Request$2(){
}

_ = Request$2.prototype = new Timer();
_.getClass$ = getClass_8;
_.run = run_0;
_.typeId$ = 13;
_.this$0 = null;
_.val$callback = null;
function $clinit_36(){
  $clinit_36 = nullMethod;
  GET = $RequestBuilder$Method(new RequestBuilder$Method(), 'GET');
  POST = $RequestBuilder$Method(new RequestBuilder$Method(), 'POST');
  nullFunc = createFunction();
}

function $RequestBuilder(this$static, httpMethod, url){
  $clinit_36();
  $RequestBuilder_0(this$static, !httpMethod?null:httpMethod.name_0, url);
  return this$static;
}

function $RequestBuilder_0(this$static, httpMethod, url){
  $clinit_36();
  throwIfEmptyOrNull('httpMethod', httpMethod);
  throwIfEmptyOrNull('url', url);
  this$static.httpMethod = httpMethod;
  this$static.url = url;
  return this$static;
}

function $doSend(this$static, requestData, callback){
  var openError, request, requestPermissionException, sendError, xmlHttpRequest;
  xmlHttpRequest = new XMLHttpRequest();
  openError = open(xmlHttpRequest, this$static.httpMethod, this$static.url, true);
  if (openError != null) {
    requestPermissionException = $RequestPermissionException(new RequestPermissionException(), this$static.url);
    $initCause(requestPermissionException, $RequestException(new RequestException(), openError));
    throw requestPermissionException;
  }
  $setHeaders(this$static, xmlHttpRequest);
  request = $Request(new Request(), xmlHttpRequest, this$static.timeoutMillis, callback);
  sendError = send(xmlHttpRequest, request, requestData, callback);
  if (sendError != null) {
    throw $RequestException(new RequestException(), sendError);
  }
  return request;
}

function $setHeader(this$static, header, value){
  throwIfEmptyOrNull('header', header);
  throwIfEmptyOrNull('value', value);
  if (!this$static.headers) {
    this$static.headers = $HashMap(new HashMap());
  }
  dynamicCast($put_1(this$static.headers, header, value), 1);
}

function $setHeaders(this$static, xmlHttpRequest){
  var errorMessage, header, header$iterator;
  if (!!this$static.headers && this$static.headers.size_0 > 0) {
    for (header$iterator = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), this$static.headers).this$0); $hasNext_0(header$iterator.iter);) {
      header = dynamicCast($next_1(header$iterator.iter), 4);
      errorMessage = setRequestHeader(xmlHttpRequest, dynamicCast(header.getKey(), 1), dynamicCast(header.getValue(), 1));
      if (errorMessage != null) {
        throw $RequestException(new RequestException(), errorMessage);
      }
    }
  }
   else {
    setRequestHeader(xmlHttpRequest, 'Content-Type', 'text/plain; charset=utf-8');
  }
}

function $setTimeoutMillis(this$static, timeoutMillis){
  if (timeoutMillis < 0) {
    throw $IllegalArgumentException(new IllegalArgumentException(), 'Timeouts cannot be negative');
  }
  this$static.timeoutMillis = timeoutMillis;
}

function getClass_10(){
  return Lcom_google_gwt_http_client_RequestBuilder_2_classLit;
}

function RequestBuilder(){
}

_ = RequestBuilder.prototype = new Object_0();
_.getClass$ = getClass_10;
_.typeId$ = 0;
_.headers = null;
_.httpMethod = null;
_.timeoutMillis = 0;
_.url = null;
var GET, POST;
function $RequestBuilder$Method(this$static, name){
  this$static.name_0 = name;
  return this$static;
}

function getClass_9(){
  return Lcom_google_gwt_http_client_RequestBuilder$Method_2_classLit;
}

function toString_1(){
  return this.name_0;
}

function RequestBuilder$Method(){
}

_ = RequestBuilder$Method.prototype = new Object_0();
_.getClass$ = getClass_9;
_.toString$ = toString_1;
_.typeId$ = 0;
_.name_0 = null;
function $RequestException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_11(){
  return Lcom_google_gwt_http_client_RequestException_2_classLit;
}

function RequestException(){
}

_ = RequestException.prototype = new Exception();
_.getClass$ = getClass_11;
_.typeId$ = 14;
function $RequestPermissionException(this$static, url){
  this$static.detailMessage = 'The URL ' + url + ' is invalid or violates the same-origin security restriction';
  return this$static;
}

function getClass_12(){
  return Lcom_google_gwt_http_client_RequestPermissionException_2_classLit;
}

function RequestPermissionException(){
}

_ = RequestPermissionException.prototype = new RequestException();
_.getClass$ = getClass_12;
_.typeId$ = 15;
function $RequestTimeoutException(this$static, timeoutMillis){
  this$static.detailMessage = 'A request timeout has expired after ' + ('' + timeoutMillis) + ' ms';
  return this$static;
}

function getClass_13(){
  return Lcom_google_gwt_http_client_RequestTimeoutException_2_classLit;
}

function RequestTimeoutException(){
}

_ = RequestTimeoutException.prototype = new RequestException();
_.getClass$ = getClass_13;
_.typeId$ = 16;
function throwIfEmptyOrNull(name, value){
  throwIfNull(name, value);
  if (0 == $trim(value).length) {
    throw $IllegalArgumentException(new IllegalArgumentException(), name + ' cannot be empty');
  }
}

function throwIfNull(name, value){
  if (null == value) {
    throw $NullPointerException(new NullPointerException(), name + ' cannot be null');
  }
}

function getBrowserSpecificFailure(xmlHttpRequest){
  try {
    if (xmlHttpRequest.status === undefined) {
      return 'XmlHttpRequest.status == undefined, please see Safari bug ' + 'http://bugs.webkit.org/show_bug.cgi?id=3810 for more details';
    }
    return null;
  }
   catch (e) {
    return 'Unable to read XmlHttpRequest.status; likely causes are a ' + 'networking error or bad cross-domain request. Please see ' + 'https://bugzilla.mozilla.org/show_bug.cgi?id=238559 for more ' + 'details';
  }
}

function getHeaders(xmlHttpRequest){
  var allHeaders, endOfNameIdx, header, i, n, name, parsedHeaders, unparsedHeader, unparsedHeaders, value;
  allHeaders = xmlHttpRequest.getAllResponseHeaders();
  unparsedHeaders = $split(allHeaders, '\n', 0);
  parsedHeaders = initDim(_3Lcom_google_gwt_http_client_Header_2_classLit, 0, 5, unparsedHeaders.length, 0);
  for (i = 0 , n = unparsedHeaders.length; i < n; ++i) {
    unparsedHeader = unparsedHeaders[i];
    if (unparsedHeader.length == 0) {
      continue;
    }
    endOfNameIdx = unparsedHeader.indexOf(fromCodePoint(58));
    if (endOfNameIdx < 0) {
      continue;
    }
    name = $trim(unparsedHeader.substr(0, endOfNameIdx - 0));
    value = $trim(unparsedHeader.substr(endOfNameIdx + 1, unparsedHeader.length - (endOfNameIdx + 1)));
    header = $XMLHTTPRequest$1(new XMLHTTPRequest$1(), name, value);
    setCheck(parsedHeaders, i, header);
  }
  return parsedHeaders;
}

function open(xmlHttpRequest, httpMethod, url, async){
  try {
    xmlHttpRequest.open(httpMethod, url, async);
    return null;
  }
   catch (e) {
    return e.message || e.toString();
  }
}

function send(xmlHttpRequest, httpRequest, requestData, callback){
  xmlHttpRequest.onreadystatechange = function(){
    if (xmlHttpRequest.readyState == 4) {
      $wnd.setTimeout(function(){
        xmlHttpRequest.onreadystatechange = nullFunc;
      }
      , 0);
      httpRequest.fireOnResponseReceived(callback);
    }
  }
  ;
  try {
    xmlHttpRequest.send(requestData);
    return null;
  }
   catch (e) {
    xmlHttpRequest.onreadystatechange = nullFunc;
    return e.message || e.toString();
  }
}

function setRequestHeader(xmlHttpRequest, header, value){
  try {
    xmlHttpRequest.setRequestHeader(header, value);
    return null;
  }
   catch (e) {
    return e.message || e.toString();
  }
}

function $XMLHTTPRequest$1(this$static, val$name, val$value){
  this$static.val$name = val$name;
  this$static.val$value = val$value;
  return this$static;
}

function getClass_16(){
  return Lcom_google_gwt_http_client_XMLHTTPRequest$1_2_classLit;
}

function toString_2(){
  return this.val$name + ' : ' + this.val$value;
}

function XMLHTTPRequest$1(){
}

_ = XMLHTTPRequest$1.prototype = new Header();
_.getClass$ = getClass_16;
_.toString$ = toString_2;
_.typeId$ = 17;
_.val$name = null;
_.val$value = null;
function getClass_24(){
  return Lcom_google_gwt_json_client_JSONValue_2_classLit;
}

function isObject_0(){
  return null;
}

function isString_0(){
  return null;
}

function JSONValue(){
}

_ = JSONValue.prototype = new Object_0();
_.getClass$ = getClass_24;
_.isObject = isObject_0;
_.isString = isString_0;
_.typeId$ = 0;
function $JSONArray(this$static, arr){
  this$static.jsArray = arr;
  return this$static;
}

function equals_0(other){
  if (!(other != null && canCast(other.typeId$, 7))) {
    return false;
  }
  return this.jsArray == dynamicCast(other, 7).jsArray;
}

function getClass_17(){
  return Lcom_google_gwt_json_client_JSONArray_2_classLit;
}

function getUnwrapper(){
  return unwrap;
}

function hashCode_1(){
  return getHashCode(this.jsArray);
}

function toString_3(){
  var c, i, sb, v, func;
  sb = $StringBuffer(new StringBuffer());
  $append_1(sb.builder, '[');
  for (i = 0 , c = this.jsArray.length; i < c; ++i) {
    if (i > 0) {
      $append_1(sb.builder, ',');
    }
    $append(sb, (v = this.jsArray[i] , func = ($clinit_53() , typeMap)[typeof v] , func?func(v):throwUnknownTypeException(typeof v)));
  }
  $append_1(sb.builder, ']');
  return $toString_3(sb.builder);
}

function unwrap(value){
  return value.jsArray;
}

function JSONArray(){
}

_ = JSONArray.prototype = new JSONValue();
_.equals$ = equals_0;
_.getClass$ = getClass_17;
_.getUnwrapper = getUnwrapper;
_.hashCode$ = hashCode_1;
_.toString$ = toString_3;
_.typeId$ = 18;
_.jsArray = null;
function $clinit_48(){
  $clinit_48 = nullMethod;
  FALSE = $JSONBoolean(new JSONBoolean(), false);
  TRUE = $JSONBoolean(new JSONBoolean(), true);
}

function $JSONBoolean(this$static, value){
  $clinit_48();
  this$static.value_0 = value;
  return this$static;
}

function getClass_18(){
  return Lcom_google_gwt_json_client_JSONBoolean_2_classLit;
}

function getInstance_0(b){
  $clinit_48();
  if (b) {
    return TRUE;
  }
   else {
    return FALSE;
  }
}

function getUnwrapper_0(){
  return unwrap_0;
}

function toString_4(){
  return $clinit_289() , '' + this.value_0;
}

function unwrap_0(value){
  return value.value_0;
}

function JSONBoolean(){
}

_ = JSONBoolean.prototype = new JSONValue();
_.getClass$ = getClass_18;
_.getUnwrapper = getUnwrapper_0;
_.toString$ = toString_4;
_.typeId$ = 0;
_.value_0 = false;
var FALSE, TRUE;
function $JSONException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function $JSONException_0(this$static, cause){
  this$static.detailMessage = !cause?null:$toString_4(cause);
  this$static.cause = cause;
  return this$static;
}

function getClass_19(){
  return Lcom_google_gwt_json_client_JSONException_2_classLit;
}

function JSONException(){
}

_ = JSONException.prototype = new RuntimeException();
_.getClass$ = getClass_19;
_.typeId$ = 19;
function $clinit_50(){
  $clinit_50 = nullMethod;
  instance = ($clinit_50() , new JSONNull());
}

function getClass_20(){
  return Lcom_google_gwt_json_client_JSONNull_2_classLit;
}

function getUnwrapper_1(){
  return unwrap_1;
}

function toString_5(){
  return 'null';
}

function unwrap_1(){
  return null;
}

function JSONNull(){
}

_ = JSONNull.prototype = new JSONValue();
_.getClass$ = getClass_20;
_.getUnwrapper = getUnwrapper_1;
_.toString$ = toString_5;
_.typeId$ = 0;
var instance;
function $JSONNumber(this$static, value){
  this$static.value_0 = value;
  return this$static;
}

function equals_1(other){
  if (!(other != null && canCast(other.typeId$, 8))) {
    return false;
  }
  return this.value_0 == dynamicCast(other, 8).value_0;
}

function getClass_21(){
  return Lcom_google_gwt_json_client_JSONNumber_2_classLit;
}

function getUnwrapper_2(){
  return unwrap_2;
}

function hashCode_2(){
  return ~~Math.max(Math.min($Double(new Double(), this.value_0).value_0, 2147483647), -2147483648);
}

function toString_6(){
  return this.value_0 + '';
}

function unwrap_2(value){
  return value.value_0;
}

function JSONNumber(){
}

_ = JSONNumber.prototype = new JSONValue();
_.equals$ = equals_1;
_.getClass$ = getClass_21;
_.getUnwrapper = getUnwrapper_2;
_.hashCode$ = hashCode_2;
_.toString$ = toString_6;
_.typeId$ = 20;
_.value_0 = 0;
function $JSONObject(this$static){
  this$static.jsObject = {};
  return this$static;
}

function $JSONObject_0(this$static, jsValue){
  this$static.jsObject = jsValue;
  return this$static;
}

function $addAllKeys(this$static, s){
  var jsObject = this$static.jsObject;
  for (var key in jsObject) {
    s.add_1(key);
  }
}

function $containsKey(this$static, key){
  return key in this$static.jsObject;
}

function $get_0(this$static, key){
  var v, func;
  if (key == null) {
    throw new NullPointerException();
  }
  return v = this$static.jsObject[key] , func = ($clinit_53() , typeMap)[typeof v] , func?func(v):throwUnknownTypeException(typeof v);
}

function $keySet(this$static){
  var keySet;
  keySet = $HashSet(new HashSet());
  $addAllKeys(this$static, keySet);
  return keySet;
}

function $put(this$static, key, jsonValue){
  var previous;
  if (key == null) {
    throw new NullPointerException();
  }
  previous = $get_0(this$static, key);
  $put0(this$static, key, jsonValue);
  return previous;
}

function $put0(this$static, key, value){
  if (value) {
    var func = value.getUnwrapper();
    this$static.jsObject[key] = func(value);
  }
   else {
    delete this$static.jsObject[key];
  }
}

function $toString_1(this$static){
  var first, key, key$iterator, keys, sb;
  sb = $StringBuffer(new StringBuffer());
  $append_1(sb.builder, '{');
  first = true;
  keys = $ArrayList(new ArrayList());
  $addAllKeys(this$static, keys);
  for (key$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), keys); key$iterator.i < key$iterator.this$0.size_1();) {
    key = dynamicCast($next_1(key$iterator), 1);
    if (first) {
      first = false;
    }
     else {
      $append_1(sb.builder, ', ');
    }
    $append_0(sb, escapeValue(key));
    $append_1(sb.builder, ':');
    $append(sb, $get_0(this$static, key));
  }
  $append_1(sb.builder, '}');
  return $toString_3(sb.builder);
}

function equals_2(other){
  if (!(other != null && canCast(other.typeId$, 9))) {
    return false;
  }
  return this.jsObject == dynamicCast(other, 9).jsObject;
}

function getClass_22(){
  return Lcom_google_gwt_json_client_JSONObject_2_classLit;
}

function getUnwrapper_3(){
  return unwrap_3;
}

function hashCode_3(){
  return getHashCode(this.jsObject);
}

function isObject(){
  return this;
}

function toString_7(){
  return $toString_1(this);
}

function unwrap_3(value){
  return value.jsObject;
}

function JSONObject(){
}

_ = JSONObject.prototype = new JSONValue();
_.equals$ = equals_2;
_.getClass$ = getClass_22;
_.getUnwrapper = getUnwrapper_3;
_.hashCode$ = hashCode_3;
_.isObject = isObject;
_.toString$ = toString_7;
_.typeId$ = 21;
_.jsObject = null;
function $clinit_53(){
  $clinit_53 = nullMethod;
  typeMap = {'boolean':createBoolean, number:createNumber, string:createString, object:createObject_0, 'function':createObject_0, undefined:createUndefined};
}

function createBoolean(v){
  return getInstance_0(v);
}

function createNumber(v){
  return $JSONNumber(new JSONNumber(), v);
}

function createObject_0(o){
  if (!o) {
    return $clinit_50() , instance;
  }
  var v = o.valueOf?o.valueOf():o;
  if (v !== o) {
    var func = typeMap[typeof v];
    return func?func(v):throwUnknownTypeException(typeof v);
  }
   else if (o instanceof Array || o instanceof $wnd.Array) {
    return $JSONArray(new JSONArray(), o);
  }
   else {
    return $JSONObject_0(new JSONObject(), o);
  }
}

function createString(v){
  return $JSONString(new JSONString(), v);
}

function createUndefined(){
  return null;
}

function parse(jsonString){
  var v, func;
  $clinit_53();
  var $e0, ex;
  if (jsonString == null) {
    throw new NullPointerException();
  }
  if (jsonString.length == 0) {
    throw $IllegalArgumentException(new IllegalArgumentException(), 'empty argument');
  }
  try {
    return v = eval('(' + jsonString + ')') , func = typeMap[typeof v] , func?func(v):throwUnknownTypeException(typeof v);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 3)) {
      ex = $e0;
      throw $JSONException_0(new JSONException(), ex);
    }
     else 
      throw $e0;
  }
}

function throwUnknownTypeException(typeString){
  $clinit_53();
  throw $JSONException(new JSONException(), "Unexpected typeof result '" + typeString + "'; please report this bug to the GWT team");
}

var typeMap;
function $clinit_54(){
  var out;
  $clinit_54 = nullMethod;
  escapeTable = (out = ['\\u0000', '\\u0001', '\\u0002', '\\u0003', '\\u0004', '\\u0005', '\\u0006', '\\u0007', '\\b', '\\t', '\\n', '\\u000B', '\\f', '\\r', '\\u000E', '\\u000F', '\\u0010', '\\u0011', '\\u0012', '\\u0013', '\\u0014', '\\u0015', '\\u0016', '\\u0017', '\\u0018', '\\u0019', '\\u001A', '\\u001B', '\\u001C', '\\u001D', '\\u001E', '\\u001F'] , out[34] = '\\"' , out[92] = '\\\\' , out);
}

function $JSONString(this$static, value){
  $clinit_54();
  if (value == null) {
    throw new NullPointerException();
  }
  this$static.value_0 = value;
  return this$static;
}

function equals_3(other){
  if (!(other != null && canCast(other.typeId$, 10))) {
    return false;
  }
  return $equals_0(this.value_0, dynamicCast(other, 10).value_0);
}

function escapeValue(toEscape){
  $clinit_54();
  var s = toEscape.replace(/[\x00-\x1F"\\]/g, function(x){
    var lookedUp;
    return lookedUp = escapeTable[x.charCodeAt(0)] , lookedUp == null?x:lookedUp;
  }
  );
  return '"' + s + '"';
}

function getClass_23(){
  return Lcom_google_gwt_json_client_JSONString_2_classLit;
}

function getUnwrapper_4(){
  return unwrap_4;
}

function hashCode_4(){
  return getHashCode_0(this.value_0);
}

function isString(){
  return this;
}

function toString_8(){
  return escapeValue(this.value_0);
}

function unwrap_4(value){
  return value.value_0;
}

function JSONString(){
}

_ = JSONString.prototype = new JSONValue();
_.equals$ = equals_3;
_.getClass$ = getClass_23;
_.getUnwrapper = getUnwrapper_4;
_.hashCode$ = hashCode_4;
_.isString = isString;
_.toString$ = toString_8;
_.typeId$ = 22;
_.value_0 = null;
var escapeTable;
function createFromSeed(seedType, length){
  var seedArray = [null, 0, false, [0, 0]];
  var value = seedArray[seedType];
  var array = new Array(length);
  for (var i = 0; i < length; ++i) {
    array[i] = value;
  }
  return array;
}

function getClass_25(){
  return this.arrayClass$;
}

function initDim(arrayClass, typeId, queryId, length, seedType){
  var result;
  result = createFromSeed(seedType, length);
  initValues(arrayClass, typeId, queryId, result);
  return result;
}

function initValues(arrayClass, typeId, queryId, array){
  if (!protoTypeArray_0) {
    protoTypeArray_0 = new Array_0();
  }
  wrapArray(array, protoTypeArray_0);
  array.arrayClass$ = arrayClass;
  array.typeId$ = typeId;
  array.queryId$ = queryId;
  return array;
}

function setCheck(array, index, value){
  if (value != null) {
    if (array.queryId$ > 0 && !canCastUnsafe(value.typeId$, array.queryId$)) {
      throw new ArrayStoreException();
    }
    if (array.queryId$ < 0 && (value.typeMarker$ == nullMethod || value.typeId$ == 2)) {
      throw new ArrayStoreException();
    }
  }
  return array[index] = value;
}

function wrapArray(array, protoTypeArray){
  for (var i in protoTypeArray) {
    var toCopy = protoTypeArray[i];
    if (toCopy) {
      array[i] = toCopy;
    }
  }
  return array;
}

function Array_0(){
}

_ = Array_0.prototype = new Object_0();
_.getClass$ = getClass_25;
_.typeId$ = 0;
_.arrayClass$ = null;
_.length = 0;
_.queryId$ = 0;
var protoTypeArray_0 = null;
function canCast(srcId, dstId){
  return srcId && !!typeIdArray[srcId][dstId];
}

function canCastUnsafe(srcId, dstId){
  return srcId && typeIdArray[srcId][dstId];
}

function dynamicCast(src, dstId){
  if (src != null && !canCastUnsafe(src.typeId$, dstId)) {
    throw new ClassCastException();
  }
  return src;
}

function dynamicCastJso(src){
  if (src != null && (src.typeMarker$ == nullMethod || src.typeId$ == 2)) {
    throw new ClassCastException();
  }
  return src;
}

function instanceOf(src, dstId){
  return src != null && canCast(src.typeId$, dstId);
}

function throwClassCastExceptionUnlessNull(o){
  if (o != null) {
    throw new ClassCastException();
  }
  return o;
}

var typeIdArray = [{}, {}, {1:1, 52:1, 53:1, 54:1}, {49:1}, {13:1}, {13:1}, {11:1, 52:1}, {11:1, 38:1, 52:1}, {11:1, 38:1, 52:1}, {3:1, 11:1, 38:1, 52:1}, {11:1, 38:1, 52:1}, {11:1, 38:1, 39:1, 52:1}, {5:1}, {13:1}, {11:1, 33:1, 38:1, 52:1}, {11:1, 33:1, 38:1, 52:1}, {11:1, 33:1, 38:1, 52:1}, {5:1, 32:1}, {7:1}, {11:1, 37:1, 38:1, 52:1}, {8:1}, {9:1}, {10:1}, {11:1, 38:1, 52:1}, {13:1}, {13:1}, {14:1, 25:1}, {24:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1, 27:1}, {15:1, 20:1, 24:1, 27:1}, {15:1, 20:1, 24:1, 27:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1, 27:1}, {46:1}, {46:1, 52:1}, {46:1, 52:1}, {46:1, 52:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {19:1}, {15:1, 20:1, 24:1, 27:1}, {49:1}, {15:1, 20:1, 24:1, 27:1}, {15:1, 20:1, 24:1, 27:1}, {15:1, 20:1, 24:1, 27:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1, 27:1}, {15:1, 20:1, 24:1, 27:1}, {15:1, 20:1, 24:1, 27:1}, {12:1}, {15:1, 20:1, 24:1}, {12:1}, {46:1, 52:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {51:1}, {15:1, 20:1, 22:1, 24:1, 27:1}, {14:1, 25:1}, {15:1, 20:1, 22:1, 24:1, 27:1}, {15:1, 18:1, 20:1, 21:1, 24:1, 25:1}, {15:1, 20:1, 24:1}, {46:1, 52:1}, {15:1, 20:1, 24:1, 25:1, 26:1, 27:1}, {15:1, 20:1, 24:1, 27:1}, {15:1, 18:1, 20:1, 21:1, 24:1, 25:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1, 27:1}, {15:1, 20:1, 24:1, 27:1}, {12:1}, {52:1, 54:1}, {52:1, 54:1}, {52:1, 54:1}, {25:1, 50:1}, {12:1}, {52:1, 54:1}, {52:1, 54:1}, {31:1}, {35:1}, {52:1, 54:1}, {11:1, 29:1, 38:1, 52:1}, {36:1}, {52:1, 54:1}, {11:1, 28:1, 38:1, 52:1}, {25:1, 50:1}, {15:1, 20:1, 24:1}, {18:1, 25:1}, {15:1, 20:1, 24:1, 30:1, 31:1}, {18:1, 25:1}, {18:1, 25:1}, {25:1, 26:1}, {12:1}, {17:1, 25:1}, {12:1}, {17:1, 25:1}, {12:1}, {15:1, 20:1, 24:1, 30:1, 34:1}, {11:1, 38:1, 40:1, 52:1}, {42:1}, {52:1, 54:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1, 27:1}, {52:1, 54:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {15:1, 20:1, 24:1}, {17:1, 18:1, 21:1, 25:1}, {15:1, 20:1, 24:1, 27:1}, {15:1, 20:1, 24:1}, {13:1}, {15:1, 20:1, 24:1}, {11:1, 38:1, 52:1}, {11:1, 38:1, 52:1}, {11:1, 52:1}, {11:1, 52:1}, {43:1, 52:1, 54:1}, {11:1, 38:1, 52:1}, {52:1}, {44:1, 52:1, 54:1}, {11:1, 38:1, 52:1}, {11:1, 38:1, 52:1}, {11:1, 38:1, 52:1}, {11:1, 38:1, 52:1}, {11:1, 38:1, 52:1}, {53:1}, {53:1}, {11:1, 38:1, 52:1}, {47:1}, {47:1}, {48:1}, {48:1}, {4:1}, {4:1}, {4:1}, {48:1}, {46:1}, {47:1}, {48:1}, {48:1}, {4:1}, {46:1}, {45:1, 47:1, 52:1}, {48:1, 52:1}, {4:1}, {11:1, 38:1, 52:1}, {46:1, 52:1}, {2:1}, {16:1}, {6:1}, {41:1}];
function caught(e){
  if (e != null && canCast(e.typeId$, 11)) {
    return e;
  }
  return $JavaScriptException(new JavaScriptException(), e);
}

function add_0(a, b){
  var newHigh, newLow;
  newHigh = a[1] + b[1];
  newLow = a[0] + b[0];
  return create(newLow, newHigh);
}

function addTimes(accum, a, b){
  if (a == 0) {
    return accum;
  }
  if (b == 0) {
    return accum;
  }
  return add_0(accum, create(a * b, 0));
}

function compare_0(a, b){
  var nega, negb, newHigh, newLow;
  if (a[0] == b[0] && a[1] == b[1]) {
    return 0;
  }
  nega = a[1] < 0;
  negb = b[1] < 0;
  if (nega && !negb) {
    return -1;
  }
  if (!nega && negb) {
    return 1;
  }
  if ((newHigh = a[1] - b[1] , newLow = a[0] - b[0] , create(newLow, newHigh))[1] < 0) {
    return -1;
  }
   else {
    return 1;
  }
}

function create(valueLow, valueHigh){
  var diffHigh, diffLow;
  valueHigh %= 1.8446744073709552E19;
  valueLow %= 1.8446744073709552E19;
  diffHigh = valueHigh % 4294967296;
  diffLow = Math.floor(valueLow / 4294967296) * 4294967296;
  valueHigh = valueHigh - diffHigh + diffLow;
  valueLow = valueLow - diffLow + diffHigh;
  while (valueLow < 0) {
    valueLow += 4294967296;
    valueHigh -= 4294967296;
  }
  while (valueLow > 4294967295) {
    valueLow -= 4294967296;
    valueHigh += 4294967296;
  }
  valueHigh = valueHigh % 1.8446744073709552E19;
  while (valueHigh > 9223372032559808512) {
    valueHigh -= 1.8446744073709552E19;
  }
  while (valueHigh < -9223372036854775808) {
    valueHigh += 1.8446744073709552E19;
  }
  return [valueLow, valueHigh];
}

function eq(a, b){
  return a[0] == b[0] && a[1] == b[1];
}

function fromInt(value){
  var rebase, result;
  if (value > -129 && value < 128) {
    rebase = value + 128;
    result = ($clinit_60() , boxedValues)[rebase];
    if (result == null) {
      result = boxedValues[rebase] = internalFromInt(value);
    }
    return result;
  }
  return internalFromInt(value);
}

function internalFromInt(value){
  if (value >= 0) {
    return [value, 0];
  }
   else {
    return [value + 4294967296, -4294967296];
  }
}

function lowBits(a){
  if (a[0] >= 2147483648) {
    return ~~Math.max(Math.min(a[0] - 4294967296, 2147483647), -2147483648);
  }
   else {
    return ~~Math.max(Math.min(a[0], 2147483647), -2147483648);
  }
}

function mul(a, b){
  var a1, a2, a3, a4, b1, b2, b3, b4, res;
  if (a[0] == 0 && a[1] == 0) {
    return $clinit_61() , ZERO;
  }
  if (b[0] == 0 && b[1] == 0) {
    return $clinit_61() , ZERO;
  }
  if (eq(a, ($clinit_61() , MIN_VALUE))) {
    return multByMinValue(b);
  }
  if (eq(b, MIN_VALUE)) {
    return multByMinValue(a);
  }
  if (a[1] < 0) {
    if (b[1] < 0) {
      return mul(neg_0(a), neg_0(b));
    }
     else {
      return neg_0(mul(neg_0(a), b));
    }
  }
  if (b[1] < 0) {
    return neg_0(mul(a, neg_0(b)));
  }
  if (compare_0(a, TWO_PWR_24) < 0 && compare_0(b, TWO_PWR_24) < 0) {
    return create((a[1] + a[0]) * (b[1] + b[0]), 0);
  }
  a3 = a[1] % 281474976710656;
  a4 = a[1] - a3;
  a1 = a[0] % 65536;
  a2 = a[0] - a1;
  b3 = b[1] % 281474976710656;
  b4 = b[1] - b3;
  b1 = b[0] % 65536;
  b2 = b[0] - b1;
  res = ZERO;
  res = addTimes(res, a4, b1);
  res = addTimes(res, a3, b2);
  res = addTimes(res, a3, b1);
  res = addTimes(res, a2, b3);
  res = addTimes(res, a2, b2);
  res = addTimes(res, a2, b1);
  res = addTimes(res, a1, b4);
  res = addTimes(res, a1, b3);
  res = addTimes(res, a1, b2);
  res = addTimes(res, a1, b1);
  return res;
}

function multByMinValue(a){
  if ((lowBits(a) & 1) == 1) {
    return $clinit_61() , MIN_VALUE;
  }
   else {
    return $clinit_61() , ZERO;
  }
}

function neg_0(a){
  var newHigh, newLow;
  if (eq(a, ($clinit_61() , MIN_VALUE))) {
    return MIN_VALUE;
  }
  newHigh = -a[1];
  newLow = -a[0];
  if (newLow > 4294967295) {
    newLow -= 4294967296;
    newHigh += 4294967296;
  }
  if (newLow < 0) {
    newLow += 4294967296;
    newHigh -= 4294967296;
  }
  return [newLow, newHigh];
}

function neq(a, b){
  return a[0] != b[0] || a[1] != b[1];
}

function pwrAsDouble(n){
  if (n <= 30) {
    return 1 << n;
  }
   else {
    return pwrAsDouble(30) * pwrAsDouble(n - 30);
  }
}

function shl(a, n){
  var diff, newHigh, newLow, twoToN;
  n &= 63;
  if (eq(a, ($clinit_61() , MIN_VALUE))) {
    if (n == 0) {
      return a;
    }
     else {
      return ZERO;
    }
  }
  if (a[1] < 0) {
    return neg_0(shl(neg_0(a), n));
  }
  twoToN = pwrAsDouble(n);
  newHigh = a[1] * twoToN % 1.8446744073709552E19;
  newLow = a[0] * twoToN;
  diff = newLow - newLow % 4294967296;
  newHigh += diff;
  newLow -= diff;
  if (newHigh >= 9223372036854775807) {
    newHigh -= 1.8446744073709552E19;
  }
  return [newLow, newHigh];
}

function $clinit_60(){
  $clinit_60 = nullMethod;
  boxedValues = initDim(_3_3D_classLit, 0, 6, 256, 0);
}

var boxedValues;
function $clinit_61(){
  $clinit_61 = nullMethod;
  Math.log(2);
  MIN_VALUE = N8000000000000000_longLit;
  fromInt(-1);
  fromInt(1);
  fromInt(2);
  TWO_PWR_24 = P1000000_longLit;
  ZERO = fromInt(0);
}

var MIN_VALUE, TWO_PWR_24, ZERO;
function $CommandCanceledException(this$static){
  return this$static;
}

function getClass_26(){
  return Lcom_google_gwt_user_client_CommandCanceledException_2_classLit;
}

function CommandCanceledException(){
}

_ = CommandCanceledException.prototype = new RuntimeException();
_.getClass$ = getClass_26;
_.typeId$ = 23;
function $CommandExecutor(this$static){
  this$static.cancellationTimer = $CommandExecutor$1(new CommandExecutor$1(), this$static);
  this$static.commands = $ArrayList(new ArrayList());
  this$static.executionTimer = $CommandExecutor$2(new CommandExecutor$2(), this$static);
  this$static.iterator = $CommandExecutor$CircularIterator(new CommandExecutor$CircularIterator(), this$static);
  return this$static;
}

function $doCommandCanceled(this$static){
  var cmd;
  cmd = $getLast(this$static.iterator);
  $remove(this$static.iterator);
  if (cmd != null && canCast(cmd.typeId$, 12)) {
    $CommandCanceledException(new CommandCanceledException(), dynamicCast(cmd, 12));
  }
   else {
  }
  this$static.executing = false;
  $maybeStartExecutionTimer(this$static);
}

function $doExecuteCommands(this$static, startTimeMillis){
  var command, element, wasCanceled;
  wasCanceled = false;
  try {
    this$static.executing = true;
    this$static.iterator.end = this$static.commands.size_0;
    $schedule(this$static.cancellationTimer, 10000);
    while ($hasNext(this$static.iterator)) {
      element = $next_0(this$static.iterator);
      try {
        if (element == null) {
          return;
        }
        if (element != null && canCast(element.typeId$, 12)) {
          command = dynamicCast(element, 12);
          command.execute_0();
        }
         else {
        }
      }
       finally {
        wasCanceled = this$static.iterator.last == -1;
        if (wasCanceled) {
          return;
        }
        $remove(this$static.iterator);
      }
      if ((new Date()).getTime() - startTimeMillis >= 100) {
        return;
      }
    }
  }
   finally {
    if (!wasCanceled) {
      $cancel_1(this$static.cancellationTimer);
      this$static.executing = false;
      $maybeStartExecutionTimer(this$static);
    }
  }
}

function $maybeStartExecutionTimer(this$static){
  if (this$static.commands.size_0 != 0 && !this$static.executionTimerPending && !this$static.executing) {
    this$static.executionTimerPending = true;
    $schedule(this$static.executionTimer, 1);
  }
}

function $submit(this$static, command){
  $add_8(this$static.commands, command);
  $maybeStartExecutionTimer(this$static);
}

function getClass_30(){
  return Lcom_google_gwt_user_client_CommandExecutor_2_classLit;
}

function CommandExecutor(){
}

_ = CommandExecutor.prototype = new Object_0();
_.getClass$ = getClass_30;
_.typeId$ = 0;
_.executing = false;
_.executionTimerPending = false;
function $clinit_66(){
  $clinit_66 = nullMethod;
  $clinit_77();
}

function $CommandExecutor$1(this$static, this$0){
  $clinit_66();
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_27(){
  return Lcom_google_gwt_user_client_CommandExecutor$1_2_classLit;
}

function run_1(){
  if (!this.this$0.executing) {
    return;
  }
  $doCommandCanceled(this.this$0);
}

function CommandExecutor$1(){
}

_ = CommandExecutor$1.prototype = new Timer();
_.getClass$ = getClass_27;
_.run = run_1;
_.typeId$ = 24;
_.this$0 = null;
function $clinit_67(){
  $clinit_67 = nullMethod;
  $clinit_77();
}

function $CommandExecutor$2(this$static, this$0){
  $clinit_67();
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_28(){
  return Lcom_google_gwt_user_client_CommandExecutor$2_2_classLit;
}

function run_2(){
  this.this$0.executionTimerPending = false;
  $doExecuteCommands(this.this$0, (new Date()).getTime());
}

function CommandExecutor$2(){
}

_ = CommandExecutor$2.prototype = new Timer();
_.getClass$ = getClass_28;
_.run = run_2;
_.typeId$ = 25;
_.this$0 = null;
function $CommandExecutor$CircularIterator(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $getLast(this$static){
  return $get_4(this$static.this$0.commands, this$static.last);
}

function $hasNext(this$static){
  return this$static.next_0 < this$static.end;
}

function $next_0(this$static){
  var command;
  this$static.last = this$static.next_0;
  command = $get_4(this$static.this$0.commands, this$static.next_0++);
  if (this$static.next_0 >= this$static.end) {
    this$static.next_0 = 0;
  }
  return command;
}

function $remove(this$static){
  $remove_8(this$static.this$0.commands, this$static.last);
  --this$static.end;
  if (this$static.last <= this$static.next_0) {
    if (--this$static.next_0 < 0) {
      this$static.next_0 = 0;
    }
  }
  this$static.last = -1;
}

function getClass_29(){
  return Lcom_google_gwt_user_client_CommandExecutor$CircularIterator_2_classLit;
}

function hasNext(){
  return this.next_0 < this.end;
}

function next_0(){
  return $next_0(this);
}

function CommandExecutor$CircularIterator(){
}

_ = CommandExecutor$CircularIterator.prototype = new Object_0();
_.getClass$ = getClass_29;
_.hasNext = hasNext;
_.next_1 = next_0;
_.typeId$ = 0;
_.end = 0;
_.last = -1;
_.next_0 = 0;
_.this$0 = null;
function dispatchEventImpl(evt, elem, listener){
  var prevCurrentEvent;
  if (elem == sCaptureElem) {
    if ($eventGetTypeInt(evt) == 8192) {
      sCaptureElem = null;
    }
  }
  prevCurrentEvent = currentEvent;
  currentEvent = evt;
  try {
    listener.onBrowserEvent(evt);
  }
   finally {
    currentEvent = prevCurrentEvent;
  }
}

function releaseCapture(elem){
  if (!!sCaptureElem && elem == sCaptureElem) {
    sCaptureElem = null;
  }
  $maybeInitializeEventSystem();
  $releaseCaptureImpl(elem);
}

function setCapture(elem){
  sCaptureElem = elem;
  $maybeInitializeEventSystem();
  captureElem = elem;
}

function sinkEvents(elem, eventBits){
  $maybeInitializeEventSystem();
  $sinkEventsImpl(elem, eventBits);
  $sinkEventsMozilla(elem, eventBits);
}

var currentEvent = null, sCaptureElem = null;
function $clinit_72(){
  $clinit_72 = nullMethod;
  commandExecutor = $CommandExecutor(new CommandExecutor());
}

function addCommand(cmd){
  $clinit_72();
  if (!cmd) {
    throw $NullPointerException(new NullPointerException(), 'cmd cannot be null');
  }
  $submit(commandExecutor, cmd);
}

var commandExecutor;
function $clinit_75(){
  $clinit_75 = nullMethod;
  impl = ($clinit_85() , $clinit_86() , $clinit_87() , new HistoryImplMozilla());
  if (!$init(impl)) {
    impl = null;
  }
}

function newItem_0(historyToken, issueEvent){
  $clinit_75();
  if (impl) {
    $newItem(impl, historyToken, issueEvent);
  }
}

var impl = null;
function getClass_31(){
  return Lcom_google_gwt_user_client_Timer$1_2_classLit;
}

function onWindowClosed(){
  while (($clinit_77() , timers).size_0 > 0) {
    $cancel_1(dynamicCast($get_4(timers, 0), 13));
  }
}

function onWindowClosing(){
  return null;
}

function Timer$1(){
}

_ = Timer$1.prototype = new Object_0();
_.getClass$ = getClass_31;
_.onWindowClosed = onWindowClosed;
_.onWindowClosing = onWindowClosing;
_.typeId$ = 26;
function addWindowCloseListener(listener){
  maybeInitializeHandlers();
  if (!closingListeners) {
    closingListeners = $ArrayList(new ArrayList());
  }
  $add_8(closingListeners, listener);
}

function fireClosedImpl(){
  var listener, listener$iterator;
  if (closingListeners) {
    for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), closingListeners); listener$iterator.i < listener$iterator.this$0.size_1();) {
      listener = dynamicCast($next_1(listener$iterator), 14);
      listener.onWindowClosed();
    }
  }
}

function fireClosingImpl(){
  var listener, listener$iterator, msg, ret;
  ret = null;
  if (closingListeners) {
    for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), closingListeners); listener$iterator.i < listener$iterator.this$0.size_1();) {
      listener = dynamicCast($next_1(listener$iterator), 14);
      msg = listener.onWindowClosing();
      ret = msg;
    }
  }
  return ret;
}

function init(){
  __gwt_initHandlers(function(){
  }
  , function(){
    return fireClosingImpl();
  }
  , function(){
    fireClosedImpl();
  }
  );
}

function maybeInitializeHandlers(){
  if (!handlersAreInitialized) {
    init();
    handlersAreInitialized = true;
  }
}

var closingListeners = null, handlersAreInitialized = false;
function $eventGetTypeInt(evt){
  switch (evt.type) {
    case 'blur':
      return 4096;
    case 'change':
      return 1024;
    case 'click':
      return 1;
    case 'dblclick':
      return 2;
    case 'focus':
      return 2048;
    case 'keydown':
      return 128;
    case 'keypress':
      return 256;
    case 'keyup':
      return 512;
    case 'load':
      return 32768;
    case 'losecapture':
      return 8192;
    case 'mousedown':
      return 4;
    case 'mousemove':
      return 64;
    case 'mouseout':
      return 32;
    case 'mouseover':
      return 16;
    case 'mouseup':
      return 8;
    case 'scroll':
      return 16384;
    case 'error':
      return 65536;
    case 'mousewheel':
      return 131072;
    case 'DOMMouseScroll':
      return 131072;
    case 'contextmenu':
      return 262144;
  }
}

function $maybeInitializeEventSystem(){
  if (!eventSystemIsInitialized) {
    $initEventSystem();
    $initSyntheticMouseUpEvents();
    eventSystemIsInitialized = true;
  }
}

function isMyListener(object){
  return object != null && canCast(object.typeId$, 15) && !(object != null && (object.typeMarker$ != nullMethod && object.typeId$ != 2));
}

var eventSystemIsInitialized = false;
function $eventGetButton(evt){
  var button = evt.which;
  if (button == 2) {
    return 4;
  }
   else if (button == 3) {
    return 2;
  }
  return button || 0;
}

function $eventGetToElement(evt){
  if (evt.type == 'mouseover')
    return evt.target;
  if (evt.type == 'mouseout')
    return evt.relatedTarget;
  return null;
}

function $getChildIndex(parent, toFind){
  var count = 0, child = parent.firstChild;
  while (child) {
    if (child === toFind) {
      return count;
    }
    if (child.nodeType == 1) {
      ++count;
    }
    child = child.nextSibling;
  }
  return -1;
}

function $initEventSystem(){
  dispatchCapturedMouseEvent = function(evt){
    if (dispatchCapturedEvent(evt)) {
      var cap = captureElem;
      if (cap && cap.__listener) {
        if (isMyListener(cap.__listener)) {
          dispatchEventImpl(evt, cap, cap.__listener);
          evt.stopPropagation();
        }
      }
    }
  }
  ;
  dispatchCapturedEvent = function(evt){
    return true;
  }
  ;
  dispatchEvent_0 = function(evt){
    var listener, curElem = this;
    while (curElem && !(listener = curElem.__listener)) {
      curElem = curElem.parentNode;
    }
    if (curElem && curElem.nodeType != 1) {
      curElem = null;
    }
    if (listener) {
      if (isMyListener(listener)) {
        dispatchEventImpl(evt, curElem, listener);
      }
    }
  }
  ;
  $wnd.addEventListener('click', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('dblclick', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousedown', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseup', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousemove', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseover', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseout', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousewheel', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('keydown', dispatchCapturedEvent, true);
  $wnd.addEventListener('keyup', dispatchCapturedEvent, true);
  $wnd.addEventListener('keypress', dispatchCapturedEvent, true);
}

function $insertChild(parent, toAdd, index){
  var count = 0, child = parent.firstChild, before = null;
  while (child) {
    if (child.nodeType == 1) {
      if (count == index) {
        before = child;
        break;
      }
      ++count;
    }
    child = child.nextSibling;
  }
  parent.insertBefore(toAdd, before);
}

function $releaseCaptureImpl(elem){
  if (elem === captureElem) {
    captureElem = null;
  }
}

function $sinkEventsImpl(elem, bits){
  var chMask = (elem.__eventBits || 0) ^ bits;
  elem.__eventBits = bits;
  if (!chMask)
    return;
  if (chMask & 1)
    elem.onclick = bits & 1?dispatchEvent_0:null;
  if (chMask & 2)
    elem.ondblclick = bits & 2?dispatchEvent_0:null;
  if (chMask & 4)
    elem.onmousedown = bits & 4?dispatchEvent_0:null;
  if (chMask & 8)
    elem.onmouseup = bits & 8?dispatchEvent_0:null;
  if (chMask & 16)
    elem.onmouseover = bits & 16?dispatchEvent_0:null;
  if (chMask & 32)
    elem.onmouseout = bits & 32?dispatchEvent_0:null;
  if (chMask & 64)
    elem.onmousemove = bits & 64?dispatchEvent_0:null;
  if (chMask & 128)
    elem.onkeydown = bits & 128?dispatchEvent_0:null;
  if (chMask & 256)
    elem.onkeypress = bits & 256?dispatchEvent_0:null;
  if (chMask & 512)
    elem.onkeyup = bits & 512?dispatchEvent_0:null;
  if (chMask & 1024)
    elem.onchange = bits & 1024?dispatchEvent_0:null;
  if (chMask & 2048)
    elem.onfocus = bits & 2048?dispatchEvent_0:null;
  if (chMask & 4096)
    elem.onblur = bits & 4096?dispatchEvent_0:null;
  if (chMask & 8192)
    elem.onlosecapture = bits & 8192?dispatchEvent_0:null;
  if (chMask & 16384)
    elem.onscroll = bits & 16384?dispatchEvent_0:null;
  if (chMask & 32768)
    elem.onload = bits & 32768?dispatchEvent_0:null;
  if (chMask & 65536)
    elem.onerror = bits & 65536?dispatchEvent_0:null;
  if (chMask & 131072)
    elem.onmousewheel = bits & 131072?dispatchEvent_0:null;
  if (chMask & 262144)
    elem.oncontextmenu = bits & 262144?dispatchEvent_0:null;
}

var captureElem = null, dispatchCapturedEvent = null, dispatchCapturedMouseEvent = null, dispatchEvent_0 = null;
function $initSyntheticMouseUpEvents(){
  $wnd.addEventListener('mouseout', function(evt){
    var cap = $wnd.__captureElem;
    if (cap && !evt.relatedTarget) {
      if ('html' == evt.target.tagName.toLowerCase()) {
        var muEvent = $doc.createEvent('MouseEvents');
        muEvent.initMouseEvent('mouseup', true, true, $wnd, 0, evt.screenX, evt.screenY, evt.clientX, evt.clientY, evt.ctrlKey, evt.altKey, evt.shiftKey, evt.metaKey, evt.button, null);
        cap.dispatchEvent(muEvent);
      }
    }
  }
  , true);
  $wnd.addEventListener('DOMMouseScroll', dispatchCapturedMouseEvent, true);
}

function $sinkEventsMozilla(elem, bits){
  if (bits & 131072) {
    elem.addEventListener('DOMMouseScroll', dispatchEvent_0, false);
  }
}

function $clinit_83(){
  $clinit_83 = nullMethod;
  documentRoot = $getDocumentRoot(($clinit_83() , new DocumentRootImpl()));
}

function $getDocumentRoot(){
  return $doc.compatMode == 'CSS1Compat'?$doc.documentElement:$doc.body;
}

function getClass_33(){
  return Lcom_google_gwt_user_client_impl_DocumentRootImpl_2_classLit;
}

function DocumentRootImpl(){
}

_ = DocumentRootImpl.prototype = new Object_0();
_.getClass$ = getClass_33;
_.typeId$ = 0;
var documentRoot;
var nullFunc = null;
function $clinit_87(){
  $clinit_87 = nullMethod;
  historyListeners = $ArrayList(new ArrayList());
}

function $newItem(this$static, historyToken, issueEvent){
  historyToken = historyToken == null?'':historyToken;
  if (!$equals_0(historyToken, $wnd.__gwt_historyToken || '')) {
    $wnd.__gwt_historyToken = historyToken;
    $nativeUpdate(this$static, historyToken);
    if (issueEvent) {
      fireHistoryChangedImpl(historyToken);
    }
  }
}

function decodeFragment_0(encodedFragment){
  return decodeURI(encodedFragment.replace('%23', '#'));
}

function encodeFragment(fragment){
  return encodeURI(fragment).replace('#', '%23');
}

function fireHistoryChangedImpl(historyToken){
  var listener, listener$array, listener$index, listener$max, listenersToInvoke;
  listenersToInvoke = dynamicCast($toArray(historyListeners, initDim(_3Lcom_google_gwt_user_client_HistoryListener_2_classLit, 157, 50, historyListeners.size_0, 0)), 16);
  for (listener$array = listenersToInvoke , listener$index = 0 , listener$max = listener$array.length; listener$index < listener$max; ++listener$index) {
    listener = listener$array[listener$index];
    listener.onHistoryChanged(historyToken);
  }
}

function getClass_36(){
  return Lcom_google_gwt_user_client_impl_HistoryImpl_2_classLit;
}

function newItemOnEvent(historyToken){
  historyToken = historyToken == null?'':historyToken;
  if (!$equals_0(historyToken, $wnd.__gwt_historyToken || '')) {
    $wnd.__gwt_historyToken = historyToken;
    this.nativeUpdateOnEvent(historyToken);
    fireHistoryChangedImpl(historyToken);
  }
}

function HistoryImpl(){
}

_ = HistoryImpl.prototype = new Object_0();
_.decodeFragment = decodeFragment_0;
_.encodeFragment = encodeFragment;
_.getClass$ = getClass_36;
_.newItemOnEvent = newItemOnEvent;
_.typeId$ = 0;
var historyListeners;
function $clinit_86(){
  $clinit_86 = nullMethod;
  $clinit_87();
}

function $init(this$static){
  var token_0 = '';
  var hash_0 = $wnd.location.hash;
  if (hash_0.length > 0) {
    token_0 = this$static.decodeFragment(hash_0.substring(1));
  }
  $wnd.__gwt_historyToken = token_0;
  var historyImpl = this$static;
  $wnd.__checkHistory = function(){
    $wnd.setTimeout($wnd.__checkHistory, 250);
    var token = '', hash = $wnd.location.hash;
    if (hash.length > 0) {
      token = historyImpl.decodeFragment(hash.substring(1));
    }
    historyImpl.newItemOnEvent(token);
  }
  ;
  $wnd.__checkHistory();
  return true;
}

function getClass_35(){
  return Lcom_google_gwt_user_client_impl_HistoryImplStandard_2_classLit;
}

function nativeUpdateOnEvent(historyToken){
}

function HistoryImplStandard(){
}

_ = HistoryImplStandard.prototype = new HistoryImpl();
_.getClass$ = getClass_35;
_.nativeUpdateOnEvent = nativeUpdateOnEvent;
_.typeId$ = 0;
function $clinit_85(){
  $clinit_85 = nullMethod;
  $clinit_86();
}

function $nativeUpdate(this$static, historyToken){
  if (historyToken.length == 0) {
    var s = $wnd.location.href;
    var i = s.indexOf('#');
    if (i != -1)
      s = s.substring(0, i);
    $wnd.location = s + '#';
  }
   else {
    $wnd.location.hash = this$static.encodeFragment(historyToken);
  }
}

function decodeFragment(encodedFragment){
  return encodedFragment;
}

function getClass_34(){
  return Lcom_google_gwt_user_client_impl_HistoryImplMozilla_2_classLit;
}

function HistoryImplMozilla(){
}

_ = HistoryImplMozilla.prototype = new HistoryImplStandard();
_.decodeFragment = decodeFragment;
_.getClass$ = getClass_34;
_.typeId$ = 0;
function $addStyleDependentName(this$static, styleSuffix){
  $addStyleName(this$static, getStylePrimaryName(this$static.element) + '-' + styleSuffix);
}

function $addStyleName(this$static, style){
  setStyleName(this$static.element, style, true);
}

function $removeStyleDependentName(this$static, styleSuffix){
  $removeStyleName(this$static, getStylePrimaryName(this$static.element) + '-' + styleSuffix);
}

function $removeStyleName(this$static, style){
  setStyleName(this$static.element, style, false);
}

function $replaceElement(this$static, elem){
  if (this$static.element) {
    $replaceNode(this$static.element, elem);
  }
  this$static.element = elem;
}

function $replaceNode(node, newNode){
  var p = node.parentNode;
  if (!p) {
    return;
  }
  p.insertBefore(newNode, node);
  p.removeChild(node);
}

function $setElement_0(this$static, elem){
  this$static.element = elem;
}

function $setSize_0(this$static, width, height){
  this$static.element.style['width'] = width;
  this$static.setHeight(height);
}

function $setTitle(this$static, title){
  if (title == null || title.length == 0) {
    this$static.element.removeAttribute('title');
  }
   else {
    this$static.element.setAttribute('title', title);
  }
}

function getClass_98(){
  return Lcom_google_gwt_user_client_ui_UIObject_2_classLit;
}

function getStylePrimaryName(elem){
  var fullClassName, spaceIdx;
  fullClassName = elem['className'] == null?null:String(elem['className']);
  spaceIdx = fullClassName.indexOf(fromCodePoint(32));
  if (spaceIdx >= 0) {
    return fullClassName.substr(0, spaceIdx - 0);
  }
  return fullClassName;
}

function setHeight(height){
  this.element.style['height'] = height;
}

function setStyleName(elem, style, add){
  var begin, end, idx, last, lastPos, newClassName, oldStyle;
  if (!elem) {
    throw $RuntimeException(new RuntimeException(), 'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');
  }
  style = $trim(style);
  if (style.length == 0) {
    throw $IllegalArgumentException(new IllegalArgumentException(), 'Style names cannot be empty');
  }
  oldStyle = elem['className'] == null?null:String(elem['className']);
  idx = oldStyle.indexOf(style);
  while (idx != -1) {
    if (idx == 0 || oldStyle.charCodeAt(idx - 1) == 32) {
      last = idx + style.length;
      lastPos = oldStyle.length;
      if (last == lastPos || last < lastPos && oldStyle.charCodeAt(last) == 32) {
        break;
      }
    }
    idx = oldStyle.indexOf(style, idx + 1);
  }
  if (add) {
    if (idx == -1) {
      if (oldStyle.length > 0) {
        oldStyle += ' ';
      }
      elem['className'] = oldStyle + style;
    }
  }
   else {
    if (idx != -1) {
      begin = $trim(oldStyle.substr(0, idx - 0));
      end = $trim($substring(oldStyle, idx + style.length));
      if (begin.length == 0) {
        newClassName = end;
      }
       else if (end.length == 0) {
        newClassName = begin;
      }
       else {
        newClassName = begin + ' ' + end;
      }
      elem['className'] = newClassName;
    }
  }
}

function setStylePrimaryName(elem, style){
  if (!elem) {
    throw $RuntimeException(new RuntimeException(), 'Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');
  }
  style = $trim(style);
  if (style.length == 0) {
    throw $IllegalArgumentException(new IllegalArgumentException(), 'Style names cannot be empty');
  }
  updatePrimaryAndDependentStyleNames(elem, style);
}

function toString_12(){
  var temp, tempDiv;
  if (!this.element) {
    return '(null handle)';
  }
  return temp = this.element.cloneNode(true) , tempDiv = $doc.createElement('DIV') , tempDiv.appendChild(temp) , outer = tempDiv.innerHTML , temp.innerHTML = '' , outer;
}

function updatePrimaryAndDependentStyleNames(elem, newPrimaryStyle){
  var classes = elem.className.split(/\s+/);
  if (!classes) {
    return;
  }
  var oldPrimaryStyle = classes[0];
  var oldPrimaryStyleLen = oldPrimaryStyle.length;
  classes[0] = newPrimaryStyle;
  for (var i = 1, n = classes.length; i < n; i++) {
    var name = classes[i];
    if (name.length > oldPrimaryStyleLen && (name.charAt(oldPrimaryStyleLen) == '-' && name.indexOf(oldPrimaryStyle) == 0)) {
      classes[i] = newPrimaryStyle + name.substring(oldPrimaryStyleLen);
    }
  }
  elem.className = classes.join(' ');
}

function UIObject(){
}

_ = UIObject.prototype = new Object_0();
_.getClass$ = getClass_98;
_.setHeight = setHeight;
_.toString$ = toString_12;
_.typeId$ = 27;
_.element = null;
function $onAttach(this$static){
  if (this$static.isAttached()) {
    throw $IllegalStateException(new IllegalStateException(), "Should only call onAttach when the widget is detached from the browser's document");
  }
  this$static.attached = true;
  this$static.element.__listener = this$static;
  this$static.doAttachChildren();
  this$static.onLoad();
}

function $onDetach(this$static){
  if (!this$static.isAttached()) {
    throw $IllegalStateException(new IllegalStateException(), "Should only call onDetach when the widget is attached to the browser's document");
  }
  try {
    this$static.onUnload();
  }
   finally {
    this$static.doDetachChildren();
    this$static.element.__listener = null;
    this$static.attached = false;
  }
}

function $removeFromParent(this$static){
  if (instanceOf(this$static.parent, 27)) {
    dynamicCast(this$static.parent, 27).remove(this$static);
  }
   else if (this$static.parent) {
    throw $IllegalStateException(new IllegalStateException(), "This widget's parent does not implement HasWidgets");
  }
}

function $replaceElement_0(this$static, elem){
  if (this$static.attached) {
    this$static.element.__listener = null;
  }
  $replaceElement(this$static, elem);
  if (this$static.attached) {
    this$static.element.__listener = this$static;
  }
}

function $setParent(this$static, parent){
  var oldParent;
  oldParent = this$static.parent;
  if (!parent) {
    if (!!oldParent && oldParent.isAttached()) {
      this$static.onDetach();
    }
    this$static.parent = null;
  }
   else {
    if (oldParent) {
      throw $IllegalStateException(new IllegalStateException(), 'Cannot set a new parent without first clearing the old parent');
    }
    this$static.parent = parent;
    if (parent.isAttached()) {
      this$static.onAttach();
    }
  }
}

function doAttachChildren_0(){
}

function doDetachChildren_0(){
}

function getClass_107(){
  return Lcom_google_gwt_user_client_ui_Widget_2_classLit;
}

function isAttached_0(){
  return this.attached;
}

function onAttach_2(){
  $onAttach(this);
}

function onBrowserEvent_10(event_0){
}

function onDetach_2(){
  $onDetach(this);
}

function onLoad_2(){
}

function onUnload_2(){
}

function Widget(){
}

_ = Widget.prototype = new UIObject();
_.doAttachChildren = doAttachChildren_0;
_.doDetachChildren = doDetachChildren_0;
_.getClass$ = getClass_107;
_.isAttached = isAttached_0;
_.onAttach = onAttach_2;
_.onBrowserEvent = onBrowserEvent_10;
_.onDetach = onDetach_2;
_.onLoad = onLoad_2;
_.onUnload = onUnload_2;
_.typeId$ = 28;
_.attached = false;
_.parent = null;
function doAttachChildren(){
  var child, it;
  for (it = this.iterator_0(); it.hasNext();) {
    child = dynamicCast(it.next_1(), 20);
    child.onAttach();
  }
}

function doDetachChildren(){
  var child, it;
  for (it = this.iterator_0(); it.hasNext();) {
    child = dynamicCast(it.next_1(), 20);
    child.onDetach();
  }
}

function getClass_76(){
  return Lcom_google_gwt_user_client_ui_Panel_2_classLit;
}

function onLoad_0(){
}

function onUnload_0(){
}

function Panel(){
}

_ = Panel.prototype = new Widget();
_.doAttachChildren = doAttachChildren;
_.doDetachChildren = doDetachChildren;
_.getClass$ = getClass_76;
_.onLoad = onLoad_0;
_.onUnload = onUnload_0;
_.typeId$ = 29;
function $add_0(this$static, child, container){
  $removeFromParent(child);
  $add_6(this$static.children, child);
  container.appendChild(child.element);
  $setParent(child, this$static);
}

function $adjustIndex(this$static, child, beforeIndex){
  var idx;
  $checkIndexBoundsForInsertion(this$static, beforeIndex);
  if (child.parent == this$static) {
    idx = $indexOf(this$static.children, child);
    if (idx < beforeIndex) {
      --beforeIndex;
    }
  }
  return beforeIndex;
}

function $checkIndexBoundsForAccess(this$static, index){
  if (index < 0 || index >= this$static.children.size_0) {
    throw new IndexOutOfBoundsException();
  }
}

function $checkIndexBoundsForInsertion(this$static, index){
  if (index < 0 || index > this$static.children.size_0) {
    throw new IndexOutOfBoundsException();
  }
}

function $insert(this$static, child, container, beforeIndex, domInsert){
  beforeIndex = $adjustIndex(this$static, child, beforeIndex);
  $removeFromParent(child);
  $insert_3(this$static.children, child, beforeIndex);
  if (domInsert) {
    $insertChild(container, child.element, beforeIndex);
  }
   else {
    container.appendChild(child.element);
  }
  $setParent(child, this$static);
}

function $remove_0(this$static, w){
  var elem;
  if (w.parent != this$static) {
    return false;
  }
  $setParent(w, null);
  elem = w.element;
  $getParentElement(elem).removeChild(elem);
  $remove_7(this$static.children, w);
  return true;
}

function getClass_45(){
  return Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit;
}

function iterator(){
  return $WidgetCollection$WidgetIterator(new WidgetCollection$WidgetIterator(), this.children);
}

function remove_0(w){
  return $remove_0(this, w);
}

function ComplexPanel(){
}

_ = ComplexPanel.prototype = new Panel();
_.getClass$ = getClass_45;
_.iterator_0 = iterator;
_.remove = remove_0;
_.typeId$ = 30;
function $add(this$static, w){
  $add_0(this$static, w, this$static.element);
}

function changeToStaticPositioning(elem){
  elem.style['left'] = '';
  elem.style['top'] = '';
  elem.style['position'] = '';
}

function getClass_37(){
  return Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classLit;
}

function remove(w){
  var removed;
  removed = $remove_0(this, w);
  if (removed) {
    changeToStaticPositioning(w.element);
  }
  return removed;
}

function AbsolutePanel(){
}

_ = AbsolutePanel.prototype = new ComplexPanel();
_.getClass$ = getClass_37;
_.remove = remove;
_.typeId$ = 31;
function getClass_38(){
  return Lcom_google_gwt_user_client_ui_AbstractImagePrototype_2_classLit;
}

function AbstractImagePrototype(){
}

_ = AbstractImagePrototype.prototype = new Object_0();
_.getClass$ = getClass_38;
_.typeId$ = 0;
function $clinit_108(){
  $clinit_108 = nullMethod;
  impl_1 = ($clinit_192() , implWidget);
}

function $FocusWidget(this$static, elem){
  $clinit_108();
  this$static.element = elem;
  this$static.setTabIndex(0);
  return this$static;
}

function $addClickListener(this$static, listener){
  if (!this$static.clickListeners) {
    this$static.clickListeners = $ClickListenerCollection(new ClickListenerCollection());
    sinkEvents(this$static.element, 1 | (this$static.element.__eventBits || 0));
  }
  $add_8(this$static.clickListeners, listener);
}

function $addKeyboardListener(this$static, listener){
  if (!this$static.keyboardListeners) {
    this$static.keyboardListeners = $KeyboardListenerCollection(new KeyboardListenerCollection());
    sinkEvents(this$static.element, 896 | (this$static.element.__eventBits || 0));
  }
  $add_8(this$static.keyboardListeners, listener);
}

function $fireClickListeners(this$static){
  if (this$static.clickListeners) {
    $fireClick(this$static.clickListeners, this$static);
  }
}

function $onBrowserEvent(this$static, event_0){
  switch ($eventGetTypeInt(event_0)) {
    case 1:
      if (this$static.clickListeners) {
        $fireClick(this$static.clickListeners, this$static);
      }

      break;
    case 128:
    case 512:
    case 256:
      if (this$static.keyboardListeners) {
        $fireKeyboardEvent(this$static.keyboardListeners, this$static, event_0);
      }

  }
}

function $setElement(this$static, elem){
  this$static.element = elem;
  this$static.setTabIndex(0);
}

function getClass_54(){
  return Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit;
}

function onBrowserEvent_1(event_0){
  $onBrowserEvent(this, event_0);
}

function setTabIndex_1(index){
  impl_1.setTabIndex_0(this.element, index);
}

function FocusWidget(){
}

_ = FocusWidget.prototype = new Widget();
_.getClass$ = getClass_54;
_.onBrowserEvent = onBrowserEvent_1;
_.setTabIndex = setTabIndex_1;
_.typeId$ = 32;
_.clickListeners = null;
_.keyboardListeners = null;
var impl_1;
function $clinit_90(){
  $clinit_90 = nullMethod;
  $clinit_108();
}

function $Anchor(this$static){
  $clinit_90();
  $setElement(this$static, $doc.createElement('a'));
  this$static.element['className'] = 'gwt-Anchor';
  return this$static;
}

function getClass_39(){
  return Lcom_google_gwt_user_client_ui_Anchor_2_classLit;
}

function setTabIndex(index){
  this.element.tabIndex = index;
}

function Anchor(){
}

_ = Anchor.prototype = new FocusWidget();
_.getClass$ = getClass_39;
_.setTabIndex = setTabIndex;
_.typeId$ = 33;
function $clinit_91(){
  $clinit_91 = nullMethod;
  $clinit_108();
}

function $ButtonBase(this$static, elem){
  $clinit_91();
  this$static.element = elem;
  this$static.setTabIndex(0);
  return this$static;
}

function getClass_40(){
  return Lcom_google_gwt_user_client_ui_ButtonBase_2_classLit;
}

function ButtonBase(){
}

_ = ButtonBase.prototype = new FocusWidget();
_.getClass$ = getClass_40;
_.typeId$ = 34;
function $clinit_92(){
  $clinit_92 = nullMethod;
  $clinit_91();
}

function $Button(this$static){
  $clinit_92();
  $ButtonBase(this$static, $doc.createElement('button'));
  adjustType(this$static.element);
  this$static.element['className'] = 'gwt-Button';
  return this$static;
}

function adjustType(button){
  if (button.type == 'submit') {
    try {
      button.setAttribute('type', 'button');
    }
     catch (e) {
    }
  }
}

function getClass_41(){
  return Lcom_google_gwt_user_client_ui_Button_2_classLit;
}

function Button(){
}

_ = Button.prototype = new ButtonBase();
_.getClass$ = getClass_41;
_.typeId$ = 35;
function $CellPanel(this$static){
  this$static.children = $WidgetCollection(new WidgetCollection());
  this$static.table = $doc.createElement('table');
  this$static.body_0 = $doc.createElement('tbody');
  this$static.table.appendChild(this$static.body_0);
  this$static.element = this$static.table;
  return this$static;
}

function $getWidgetTd(this$static, w){
  if (w.parent != this$static) {
    return null;
  }
  return $getParentElement(w.element);
}

function $setCellHorizontalAlignment(this$static, w, align){
  var td;
  td = $getWidgetTd(this$static, w);
  if (td) {
    td['align'] = align.textAlignString;
  }
}

function $setCellVerticalAlignment(this$static, w, align){
  var td;
  td = $getWidgetTd(this$static, w);
  if (td) {
    td.style['verticalAlign'] = align.verticalAlignString;
  }
}

function getClass_42(){
  return Lcom_google_gwt_user_client_ui_CellPanel_2_classLit;
}

function CellPanel(){
}

_ = CellPanel.prototype = new ComplexPanel();
_.getClass$ = getClass_42;
_.typeId$ = 36;
_.body_0 = null;
_.table = null;
function $advanceToFind(iter, o){
  var t;
  while (iter.hasNext()) {
    t = iter.next_1();
    if (o == null?t == null:equals__devirtual$(o, t)) {
      return iter;
    }
  }
  return null;
}

function $toString_5(this$static){
  var comma, iter, sb;
  sb = $StringBuffer(new StringBuffer());
  comma = null;
  $append_1(sb.builder, '[');
  iter = this$static.iterator_0();
  while (iter.hasNext()) {
    if (comma != null) {
      $append_1(sb.builder, comma);
    }
     else {
      comma = ', ';
    }
    $append_0(sb, '' + iter.next_1());
  }
  $append_1(sb.builder, ']');
  return $toString_3(sb.builder);
}

function add_1(o){
  throw $UnsupportedOperationException(new UnsupportedOperationException(), 'Add not supported on this collection');
}

function contains(o){
  var iter;
  iter = $advanceToFind(this.iterator_0(), o);
  return !!iter;
}

function getClass_204(){
  return Ljava_util_AbstractCollection_2_classLit;
}

function toString_25(){
  return $toString_5(this);
}

function AbstractCollection(){
}

_ = AbstractCollection.prototype = new Object_0();
_.add_1 = add_1;
_.contains = contains;
_.getClass$ = getClass_204;
_.toString$ = toString_25;
_.typeId$ = 0;
function $equals_1(this$static, o){
  var elem, elemOther, iter, iterOther, other;
  if ((o == null?null:o) === (this$static == null?null:this$static)) {
    return true;
  }
  if (!(o != null && canCast(o.typeId$, 46))) {
    return false;
  }
  other = dynamicCast(o, 46);
  if (this$static.size_1() != other.size_1()) {
    return false;
  }
  iter = this$static.iterator_0();
  iterOther = other.iterator_0();
  while (iter.i < iter.this$0.size_1()) {
    elem = $next_1(iter);
    elemOther = iterOther.next_1();
    if (!(elem == null?elemOther == null:equals__devirtual$(elem, elemOther))) {
      return false;
    }
  }
  return true;
}

function $hashCode_0(this$static){
  var iter, k, obj;
  k = 1;
  iter = this$static.iterator_0();
  while (iter.i < iter.this$0.size_1()) {
    obj = $next_1(iter);
    k = 31 * k + (obj == null?0:hashCode__devirtual$(obj));
    k = ~~k;
  }
  return k;
}

function add_3(obj){
  this.add_0(this.size_1(), obj);
  return true;
}

function add_2(index, element){
  throw $UnsupportedOperationException(new UnsupportedOperationException(), 'Add not supported on this list');
}

function checkIndex(index, size){
  if (index < 0 || index >= size) {
    indexOutOfBounds(index, size);
  }
}

function equals_11(o){
  return $equals_1(this, o);
}

function getClass_211(){
  return Ljava_util_AbstractList_2_classLit;
}

function hashCode_10(){
  return $hashCode_0(this);
}

function indexOutOfBounds(index, size){
  throw $IndexOutOfBoundsException(new IndexOutOfBoundsException(), 'Index: ' + index + ', Size: ' + size);
}

function iterator_6(){
  return $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this);
}

function AbstractList(){
}

_ = AbstractList.prototype = new AbstractCollection();
_.add_1 = add_3;
_.add_0 = add_2;
_.equals$ = equals_11;
_.getClass$ = getClass_211;
_.hashCode$ = hashCode_10;
_.iterator_0 = iterator_6;
_.typeId$ = 37;
function $ArrayList(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classLit, 0, 0, 0, 0);
  this$static.size_0 = 0;
  return this$static;
}

function $add_8(this$static, o){
  setCheck(this$static.array, this$static.size_0++, o);
  return true;
}

function $add_7(this$static, index, o){
  if (index < 0 || index > this$static.size_0) {
    indexOutOfBounds(index, this$static.size_0);
  }
  this$static.array.splice(index, 0, o);
  ++this$static.size_0;
}

function $get_4(this$static, index){
  checkIndex(index, this$static.size_0);
  return this$static.array[index];
}

function $indexOf_2(this$static, o, index){
  for (; index < this$static.size_0; ++index) {
    if (equalsWithNullCheck(o, this$static.array[index])) {
      return index;
    }
  }
  return -1;
}

function $remove_8(this$static, index){
  var previous;
  previous = (checkIndex(index, this$static.size_0) , this$static.array[index]);
  this$static.array.splice(index, 1);
  --this$static.size_0;
  return previous;
}

function $remove_9(this$static, o){
  var i;
  i = $indexOf_2(this$static, o, 0);
  if (i == -1) {
    return false;
  }
  $remove_8(this$static, i);
  return true;
}

function $set_0(this$static, index, o){
  var previous;
  previous = (checkIndex(index, this$static.size_0) , this$static.array[index]);
  setCheck(this$static.array, index, o);
  return previous;
}

function $toArray(this$static, out){
  var i, a, result;
  if (out.length < this$static.size_0) {
    out = (a = out , result = createFromSeed(0, this$static.size_0) , initValues(a.arrayClass$, a.typeId$, a.queryId$, result) , result);
  }
  for (i = 0; i < this$static.size_0; ++i) {
    setCheck(out, i, this$static.array[i]);
  }
  if (out.length > this$static.size_0) {
    setCheck(out, this$static.size_0, null);
  }
  return out;
}

function add_5(o){
  return setCheck(this.array, this.size_0++, o) , true;
}

function add_4(index, o){
  $add_7(this, index, o);
}

function contains_2(o){
  return $indexOf_2(this, o, 0) != -1;
}

function get_1(index){
  return checkIndex(index, this.size_0) , this.array[index];
}

function getClass_217(){
  return Ljava_util_ArrayList_2_classLit;
}

function size_4(){
  return this.size_0;
}

function ArrayList(){
}

_ = ArrayList.prototype = new AbstractList();
_.add_1 = add_5;
_.add_0 = add_4;
_.contains = contains_2;
_.get = get_1;
_.getClass$ = getClass_217;
_.size_1 = size_4;
_.typeId$ = 38;
_.array = null;
_.size_0 = 0;
function $ChangeListenerCollection(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classLit, 0, 0, 0, 0);
  this$static.size_0 = 0;
  return this$static;
}

function $fireChange(this$static, sender){
  var listener, listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i < listener$iterator.this$0.size_1();) {
    listener = dynamicCast($next_1(listener$iterator), 17);
    listener.onChange(sender);
  }
}

function getClass_43(){
  return Lcom_google_gwt_user_client_ui_ChangeListenerCollection_2_classLit;
}

function ChangeListenerCollection(){
}

_ = ChangeListenerCollection.prototype = new ArrayList();
_.getClass$ = getClass_43;
_.typeId$ = 39;
function $ClickListenerCollection(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classLit, 0, 0, 0, 0);
  this$static.size_0 = 0;
  return this$static;
}

function $fireClick(this$static, sender){
  var listener, listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i < listener$iterator.this$0.size_1();) {
    listener = dynamicCast($next_1(listener$iterator), 18);
    listener.onClick_0(sender);
  }
}

function getClass_44(){
  return Lcom_google_gwt_user_client_ui_ClickListenerCollection_2_classLit;
}

function ClickListenerCollection(){
}

_ = ClickListenerCollection.prototype = new ArrayList();
_.getClass$ = getClass_44;
_.typeId$ = 40;
function $initWidget(this$static, widget){
  if (this$static.widget) {
    throw $IllegalStateException(new IllegalStateException(), 'Composite.initWidget() may only be called once.');
  }
  $removeFromParent(widget);
  $setElement_0(this$static, widget.element);
  this$static.widget = widget;
  $setParent(widget, this$static);
}

function getClass_46(){
  return Lcom_google_gwt_user_client_ui_Composite_2_classLit;
}

function isAttached(){
  if (this.widget) {
    return this.widget.attached;
  }
  return false;
}

function onAttach(){
  $onAttach(this.widget);
  this.element.__listener = this;
}

function onBrowserEvent(event_0){
  this.widget.onBrowserEvent(event_0);
}

function onDetach(){
  $onDetach(this.widget);
}

function Composite(){
}

_ = Composite.prototype = new Widget();
_.getClass$ = getClass_46;
_.isAttached = isAttached;
_.onAttach = onAttach;
_.onBrowserEvent = onBrowserEvent;
_.onDetach = onDetach;
_.typeId$ = 41;
_.widget = null;
function $clinit_102(){
  $clinit_102 = nullMethod;
  $clinit_91();
}

function $CustomButton_0(this$static, upImage){
  $clinit_102();
  $ButtonBase(this$static, $createFocusable(($clinit_107() , impl_0)));
  sinkEvents(this$static.element, 7165 | (this$static.element.__eventBits || 0));
  this$static.up = $CustomButton$1(new CustomButton$1(), null, this$static, 'up', 0);
  this$static.element['className'] = 'gwt-CustomButton';
  this$static.element.setAttribute('role', 'button');
  $setImage(this$static.up, upImage);
  return this$static;
}

function $cleanupCaptureState(this$static){
  if (this$static.isCapturing || this$static.isFocusing) {
    releaseCapture(this$static.element);
    this$static.isCapturing = false;
    this$static.isFocusing = false;
    this$static.onClickCancel();
  }
}

function $createFace(this$static, delegateTo, name, faceID){
  return $CustomButton$1(new CustomButton$1(), delegateTo, this$static, name, faceID);
}

function $finishSetup(this$static){
  if (!this$static.curFace) {
    $setCurrentFace_0(this$static, this$static.up);
  }
}

function $getDownDisabledFace(this$static){
  if (!this$static.downDisabled) {
    this$static.downDisabled = $createFace(this$static, $getDownFace(this$static), 'down-disabled', 5);
  }
  return this$static.downDisabled;
}

function $getDownFace(this$static){
  if (!this$static.down) {
    this$static.down = $createFace(this$static, this$static.up, 'down', 1);
  }
  return this$static.down;
}

function $getDownHoveringFace(this$static){
  if (!this$static.downHovering) {
    this$static.downHovering = $createFace(this$static, $getDownFace(this$static), 'down-hovering', 3);
  }
  return this$static.downHovering;
}

function $getFaceFromID(this$static, id){
  switch (id) {
    case 1:
      return $getDownFace(this$static);
    case 0:
      return this$static.up;
    case 3:
      return $getDownHoveringFace(this$static);
    case 2:
      return $getUpHoveringFace(this$static);
    case 4:
      return $getUpDisabledFace(this$static);
    case 5:
      return $getDownDisabledFace(this$static);
    default:throw $IllegalStateException(new IllegalStateException(), id + ' is not a known face id.');
  }
}

function $getUpDisabledFace(this$static){
  if (!this$static.upDisabled) {
    this$static.upDisabled = $createFace(this$static, this$static.up, 'up-disabled', 4);
  }
  return this$static.upDisabled;
}

function $getUpHoveringFace(this$static){
  if (!this$static.upHovering) {
    this$static.upHovering = $createFace(this$static, this$static.up, 'up-hovering', 2);
  }
  return this$static.upHovering;
}

function $setCurrentFace_0(this$static, newFace){
  if (this$static.curFace != newFace) {
    if (this$static.curFace) {
      $removeStyleDependentName(this$static, this$static.curFace.val$name);
    }
    this$static.curFace = newFace;
    $setCurrentFaceElement(this$static, $getFace(newFace));
    $addStyleDependentName(this$static, this$static.curFace.val$name);
  }
}

function $setCurrentFaceElement(this$static, newFaceElement){
  if (this$static.curFaceElement != newFaceElement) {
    if (this$static.curFaceElement) {
      this$static.element.removeChild(this$static.curFaceElement);
    }
    this$static.curFaceElement = newFaceElement;
    this$static.element.appendChild(this$static.curFaceElement);
  }
}

function $setDown(this$static, down){
  if (down != this$static.isDown()) {
    $toggleDown(this$static);
  }
}

function $setFocus(this$static, focused){
  if (focused) {
    ($clinit_107() , this$static.element).firstChild.focus();
  }
   else {
    ($clinit_107() , this$static.element).firstChild.blur();
  }
}

function $setHovering(this$static, hovering){
  var newFaceID, newFace;
  if (hovering != (2 & ($finishSetup(this$static) , this$static.curFace).val$faceID) > 0) {
    newFaceID = ($finishSetup(this$static) , this$static.curFace).val$faceID ^ 2;
    newFaceID &= -5;
    newFace = $getFaceFromID(this$static, newFaceID);
    $setCurrentFace_0(this$static, newFace);
  }
}

function $toggleDown(this$static){
  var newFaceID, newFace;
  newFaceID = ($finishSetup(this$static) , this$static.curFace).val$faceID ^ 1;
  newFace = $getFaceFromID(this$static, newFaceID);
  $setCurrentFace_0(this$static, newFace);
}

function getClass_49(){
  return Lcom_google_gwt_user_client_ui_CustomButton_2_classLit;
}

function isDown(){
  return (1 & ($finishSetup(this) , this.curFace).val$faceID) > 0;
}

function onAttach_0(){
  $finishSetup(this);
  $onAttach(this);
}

function onBrowserEvent_0(event_0){
  var keyCode, to, type;
  if (this.element['disabled']) {
    return;
  }
  type = $eventGetTypeInt(event_0);
  switch (type) {
    case 4:
      if ($eventGetButton(event_0) == 1) {
        $setFocus(this, true);
        this.onClickStart();
        setCapture(this.element);
        this.isCapturing = true;
        event_0.preventDefault();
      }

      break;
    case 8:
      if (this.isCapturing) {
        this.isCapturing = false;
        releaseCapture(this.element);
        if ((2 & ($finishSetup(this) , this.curFace).val$faceID) > 0 && $eventGetButton(event_0) == 1) {
          this.onClick();
        }
      }

      break;
    case 64:
      if (this.isCapturing) {
        event_0.preventDefault();
      }

      break;
    case 32:
      to = $eventGetToElement(event_0);
      if ($isOrHasChild(this.element, event_0.target) && (!to || !$isOrHasChild(this.element, to))) {
        if (this.isCapturing) {
          this.onClickCancel();
        }
        $setHovering(this, false);
      }

      break;
    case 16:
      if ($isOrHasChild(this.element, event_0.target)) {
        $setHovering(this, true);
        if (this.isCapturing) {
          this.onClickStart();
        }
      }

      break;
    case 1:
      return;
    case 4096:
      if (this.isFocusing) {
        this.isFocusing = false;
        this.onClickCancel();
      }

      break;
    case 8192:
      if (this.isCapturing) {
        this.isCapturing = false;
        this.onClickCancel();
      }

  }
  $onBrowserEvent(this, event_0);
  if (($eventGetTypeInt(event_0) & 896) != 0) {
    keyCode = (event_0.which || (event_0.keyCode || 0)) & 65535;
    switch (type) {
      case 128:
        if (keyCode == 32) {
          this.isFocusing = true;
          this.onClickStart();
        }

        break;
      case 512:
        if (this.isFocusing && keyCode == 32) {
          this.isFocusing = false;
          this.onClick();
        }

        break;
      case 256:
        if (keyCode == 10 || keyCode == 13) {
          this.onClickStart();
          this.onClick();
        }

    }
  }
}

function onClick(){
  $fireClickListeners(this);
}

function onClickCancel(){
}

function onClickStart(){
}

function onDetach_0(){
  $onDetach(this);
  $cleanupCaptureState(this);
}

function setTabIndex_0(index){
  ($clinit_107() , this.element).firstChild.tabIndex = index;
}

function CustomButton(){
}

_ = CustomButton.prototype = new ButtonBase();
_.getClass$ = getClass_49;
_.isDown = isDown;
_.onAttach = onAttach_0;
_.onBrowserEvent = onBrowserEvent_0;
_.onClick = onClick;
_.onClickCancel = onClickCancel;
_.onClickStart = onClickStart;
_.onDetach = onDetach_0;
_.setTabIndex = setTabIndex_0;
_.typeId$ = 42;
_.curFace = null;
_.curFaceElement = null;
_.down = null;
_.downDisabled = null;
_.downHovering = null;
_.isCapturing = false;
_.isFocusing = false;
_.up = null;
_.upDisabled = null;
_.upHovering = null;
function $getFace(this$static){
  if (!this$static.face) {
    if (!this$static.delegateTo) {
      this$static.face = $doc.createElement('div');
      return this$static.face;
    }
     else {
      return $getFace(this$static.delegateTo);
    }
  }
   else {
    return this$static.face;
  }
}

function $setImage(this$static, image){
  this$static.face = image.element;
  $updateButtonFace(this$static);
}

function $updateButtonFace(this$static){
  if (!!this$static.this$0.curFace && $getFace(this$static.this$0.curFace) == $getFace(this$static)) {
    $setCurrentFaceElement(this$static.this$0, this$static.face);
  }
}

function getClass_48(){
  return Lcom_google_gwt_user_client_ui_CustomButton$Face_2_classLit;
}

function toString_9(){
  return dynamicCast(this, 19).val$name;
}

function CustomButton$Face(){
}

_ = CustomButton$Face.prototype = new Object_0();
_.getClass$ = getClass_48;
_.toString$ = toString_9;
_.typeId$ = 0;
_.delegateTo = null;
_.face = null;
_.this$0 = null;
function $CustomButton$1(this$static, $anonymous0, this$0, val$name, val$faceID){
  this$static.val$name = val$name;
  this$static.val$faceID = val$faceID;
  this$static.this$0 = this$0;
  this$static.delegateTo = $anonymous0;
  return this$static;
}

function getClass_47(){
  return Lcom_google_gwt_user_client_ui_CustomButton$1_2_classLit;
}

function CustomButton$1(){
}

_ = CustomButton$1.prototype = new CustomButton$Face();
_.getClass$ = getClass_47;
_.typeId$ = 43;
_.val$faceID = 0;
_.val$name = null;
function $remove_1(this$static, w){
  var container, removed;
  container = $getParentElement(w.element);
  removed = $remove_0(this$static, w);
  if (removed) {
    w.element.style['width'] = '';
    w.setHeight('');
    w.element.style.display = '';
    this$static.element.removeChild(container);
    if (this$static.visibleWidget == w) {
      this$static.visibleWidget = null;
    }
  }
  return removed;
}

function $showWidget_0(this$static, index){
  var oldWidget;
  $checkIndexBoundsForAccess(this$static, index);
  oldWidget = this$static.visibleWidget;
  this$static.visibleWidget = $get_1(this$static.children, index);
  if (this$static.visibleWidget != oldWidget) {
    if (!slideAnimation) {
      slideAnimation = new DeckPanel$SlideAnimation();
    }
    $showWidget(slideAnimation, oldWidget, this$static.visibleWidget, false);
  }
}

function getClass_51(){
  return Lcom_google_gwt_user_client_ui_DeckPanel_2_classLit;
}

function remove_1(w){
  return $remove_1(this, w);
}

function DeckPanel(){
}

_ = DeckPanel.prototype = new ComplexPanel();
_.getClass$ = getClass_51;
_.remove = remove_1;
_.typeId$ = 44;
_.visibleWidget = null;
var slideAnimation = null;
function $onComplete(this$static){
  if (this$static.growing) {
    this$static.container1.style['height'] = '100%';
    this$static.container1.style.display = '';
    this$static.container2.style.display = 'none';
    this$static.container2.style['height'] = '100%';
  }
   else {
    this$static.container1.style.display = 'none';
    this$static.container1.style['height'] = '100%';
    this$static.container2.style['height'] = '100%';
    this$static.container2.style.display = '';
  }
  this$static.container1.style['overflow'] = 'visible';
  this$static.container2.style['overflow'] = 'visible';
  this$static.container1 = null;
  this$static.container2 = null;
  this$static.oldWidget.element.style.display = 'none';
  this$static.oldWidget = null;
}

function $onStart(this$static){
  var deckElem, deckHeight;
  deckElem = $getParentElement(this$static.container1);
  deckHeight = deckElem.offsetHeight || 0;
  if (this$static.growing) {
    this$static.fixedHeight = this$static.container2.offsetHeight || 0;
    this$static.container2.style['height'] = max(1, this$static.fixedHeight - 1) + 'px';
  }
   else {
    this$static.fixedHeight = this$static.container1.offsetHeight || 0;
    this$static.container1.style['height'] = max(1, this$static.fixedHeight - 1) + 'px';
  }
  if ((deckElem.offsetHeight || 0) != deckHeight) {
    this$static.fixedHeight = -1;
  }
  this$static.container1.style['overflow'] = 'hidden';
  this$static.container2.style['overflow'] = 'hidden';
  $onUpdate(this$static, 0);
  this$static.container1.style.display = '';
  this$static.container2.style.display = '';
}

function $onUpdate(this$static, progress){
  var height1, height2;
  if (!this$static.growing) {
    progress = 1 - progress;
  }
  if (this$static.fixedHeight == -1) {
    height1 = ~~Math.max(Math.min(progress * (parseInt(this$static.container1['scrollHeight']) || 0), 2147483647), -2147483648);
    height2 = ~~Math.max(Math.min((1 - progress) * (parseInt(this$static.container2['scrollHeight']) || 0), 2147483647), -2147483648);
  }
   else {
    height1 = ~~Math.max(Math.min(progress * this$static.fixedHeight, 2147483647), -2147483648);
    height2 = this$static.fixedHeight - height1;
  }
  if (height1 == 0) {
    height1 = 1;
    height2 = 1 > height2 - 1?1:height2 - 1;
  }
   else if (height2 == 0) {
    height2 = 1;
    height1 = 1 > height1 - 1?1:height1 - 1;
  }
  this$static.container1.style['height'] = height1 + 'px';
  this$static.container2.style['height'] = height2 + 'px';
}

function $showWidget(this$static, oldWidget, newWidget, animate){
  var newContainer, newIndex, oldContainer, oldIndex;
  $cancel(this$static);
  newContainer = $getParentElement(newWidget.element);
  newIndex = $getChildIndex($getParentElement(newContainer), newContainer);
  if (!oldWidget) {
    newContainer.style.display = '';
    newWidget.element.style.display = '';
    return;
  }
  this$static.oldWidget = oldWidget;
  oldContainer = $getParentElement(oldWidget.element);
  oldIndex = $getChildIndex($getParentElement(oldContainer), oldContainer);
  if (newIndex > oldIndex) {
    this$static.container1 = oldContainer;
    this$static.container2 = newContainer;
    this$static.growing = false;
  }
   else {
    this$static.container1 = newContainer;
    this$static.container2 = oldContainer;
    this$static.growing = true;
  }
  if (animate) {
    $run(this$static, 350, (new Date()).getTime());
  }
   else {
    this$static.container1.style.display = this$static.growing?'':'none';
    this$static.container2.style.display = !this$static.growing?'':'none';
    this$static.container1 = null;
    this$static.container2 = null;
    this$static.oldWidget.element.style.display = 'none';
    this$static.oldWidget = null;
  }
  newWidget.element.style.display = '';
}

function getClass_50(){
  return Lcom_google_gwt_user_client_ui_DeckPanel$SlideAnimation_2_classLit;
}

function DeckPanel$SlideAnimation(){
}

_ = DeckPanel$SlideAnimation.prototype = new Animation();
_.getClass$ = getClass_50;
_.typeId$ = 45;
_.container1 = null;
_.container2 = null;
_.fixedHeight = -1;
_.growing = false;
_.oldWidget = null;
function $checkRowBounds(this$static, row){
  var rowSize;
  rowSize = this$static.bodyElem.rows.length;
  if (row >= rowSize || row < 0) {
    throw $IndexOutOfBoundsException(new IndexOutOfBoundsException(), 'Row index: ' + row + ', Row size: ' + rowSize);
  }
}

function $insertRow(this$static, beforeRow){
  var tr;
  if (beforeRow != this$static.bodyElem.rows.length) {
    $checkRowBounds(this$static, beforeRow);
  }
  tr = $doc.createElement('tr');
  $insertChild(this$static.bodyElem, tr, beforeRow);
  return beforeRow;
}

function $internalClearCell(this$static, td, clearInnerHTML){
  var maybeChild, widget;
  maybeChild = $getFirstChildElement(td);
  widget = null;
  if (maybeChild) {
    widget = $getWidget_0(this$static.widgetMap, maybeChild);
  }
  if (widget) {
    $remove_2(this$static, widget);
    return true;
  }
   else {
    if (clearInnerHTML) {
      td.innerHTML = '';
    }
    return false;
  }
}

function $remove_2(this$static, widget){
  var elem;
  if (widget.parent != this$static) {
    return false;
  }
  $setParent(widget, null);
  elem = widget.element;
  $getParentElement(elem).removeChild(elem);
  $removeWidgetByElement(this$static.widgetMap, elem);
  return true;
}

function $setColumnFormatter(this$static, formatter){
  this$static.columnFormatter = formatter;
  $prepareColumnGroup(this$static.columnFormatter);
}

function $setWidget(this$static, row, column, widget){
  var td_0, td;
  $prepareCell(this$static, row, column);
  if (widget) {
    $removeFromParent(widget);
    td_0 = (td = this$static.cellFormatter.this$0.bodyElem.rows[row].cells[column] , $internalClearCell(this$static, td, true) , td);
    $putWidget(this$static.widgetMap, widget);
    td_0.appendChild(widget.element);
    $setParent(widget, this$static);
  }
}

function getClass_60(){
  return Lcom_google_gwt_user_client_ui_HTMLTable_2_classLit;
}

function iterator_0(){
  return $HTMLTable$WidgetMapper$1(new HTMLTable$WidgetMapper$1(), this.widgetMap);
}

function onBrowserEvent_2(event_0){
  $eventGetTypeInt(event_0);
}

function remove_2(widget){
  return $remove_2(this, widget);
}

function HTMLTable(){
}

_ = HTMLTable.prototype = new Panel();
_.getClass$ = getClass_60;
_.iterator_0 = iterator_0;
_.onBrowserEvent = onBrowserEvent_2;
_.remove = remove_2;
_.typeId$ = 46;
_.bodyElem = null;
_.cellFormatter = null;
_.columnFormatter = null;
_.tableElem = null;
function $FlexTable(this$static){
  this$static.widgetMap = $HTMLTable$WidgetMapper(new HTMLTable$WidgetMapper());
  this$static.tableElem = $doc.createElement('table');
  this$static.bodyElem = $doc.createElement('tbody');
  this$static.tableElem.appendChild(this$static.bodyElem);
  this$static.element = this$static.tableElem;
  this$static.cellFormatter = $FlexTable$FlexCellFormatter(new FlexTable$FlexCellFormatter(), this$static);
  $setColumnFormatter(this$static, $HTMLTable$ColumnFormatter(new HTMLTable$ColumnFormatter(), this$static));
  return this$static;
}

function $prepareCell(this$static, row, column){
  var cellCount, required;
  $prepareRow(this$static, row);
  if (column < 0) {
    throw $IndexOutOfBoundsException(new IndexOutOfBoundsException(), 'Cannot create a column with a negative index: ' + column);
  }
  cellCount = ($checkRowBounds(this$static, row) , this$static.bodyElem.rows[row].cells.length);
  required = column + 1 - cellCount;
  if (required > 0) {
    addCells(this$static.bodyElem, row, required);
  }
}

function $prepareRow(this$static, row){
  var i, rowCount;
  if (row < 0) {
    throw $IndexOutOfBoundsException(new IndexOutOfBoundsException(), 'Cannot create a row with a negative index: ' + row);
  }
  rowCount = this$static.bodyElem.rows.length;
  for (i = rowCount; i <= row; ++i) {
    $insertRow(this$static, i);
  }
}

function addCells(table, row, num){
  var rowElem = table.rows[row];
  for (var i = 0; i < num; i++) {
    var cell = $doc.createElement('td');
    rowElem.appendChild(cell);
  }
}

function getClass_53(){
  return Lcom_google_gwt_user_client_ui_FlexTable_2_classLit;
}

function FlexTable(){
}

_ = FlexTable.prototype = new HTMLTable();
_.getClass$ = getClass_53;
_.typeId$ = 47;
function $setHeight(this$static, row, column, height){
  var elem;
  $prepareCell(this$static.this$0, row, column);
  elem = this$static.this$0.bodyElem.rows[row].cells[column];
  elem['height'] = height;
}

function $setHorizontalAlignment(this$static, row, column, align){
  var elem;
  $prepareCell(this$static.this$0, row, column);
  elem = this$static.this$0.bodyElem.rows[row].cells[column];
  elem['align'] = align.textAlignString;
}

function $setVerticalAlignment(this$static, row, column, align){
  $prepareCell(this$static.this$0, row, column);
  this$static.this$0.bodyElem.rows[row].cells[column].style['verticalAlign'] = align.verticalAlignString;
}

function $setWidth(this$static, row, column, width){
  $prepareCell(this$static.this$0, row, column);
  this$static.this$0.bodyElem.rows[row].cells[column]['width'] = width;
}

function getClass_55(){
  return Lcom_google_gwt_user_client_ui_HTMLTable$CellFormatter_2_classLit;
}

function HTMLTable$CellFormatter(){
}

_ = HTMLTable$CellFormatter.prototype = new Object_0();
_.getClass$ = getClass_55;
_.typeId$ = 0;
_.this$0 = null;
function $FlexTable$FlexCellFormatter(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $setRowSpan(this$static, row, column, rowSpan){
  ($prepareCell(this$static.this$0, row, column) , this$static.this$0.bodyElem.rows[row].cells[column])['rowSpan'] = rowSpan;
}

function getClass_52(){
  return Lcom_google_gwt_user_client_ui_FlexTable$FlexCellFormatter_2_classLit;
}

function FlexTable$FlexCellFormatter(){
}

_ = FlexTable$FlexCellFormatter.prototype = new HTMLTable$CellFormatter();
_.getClass$ = getClass_52;
_.typeId$ = 0;
function $SimplePanel(this$static){
  this$static.element = $doc.createElement('div');
  return this$static;
}

function $SimplePanel_0(this$static, elem){
  this$static.element = elem;
  return this$static;
}

function $add_2(this$static, w){
  if (this$static.widget) {
    throw $IllegalStateException(new IllegalStateException(), 'SimplePanel can only contain one child widget');
  }
  $setWidget_0(this$static, w);
}

function $remove_4(this$static, w){
  if (this$static.widget != w) {
    return false;
  }
  $setParent(w, null);
  this$static.element.removeChild(w.element);
  this$static.widget = null;
  return true;
}

function $setWidget_0(this$static, w){
  if (w == this$static.widget) {
    return;
  }
  if (w) {
    $removeFromParent(w);
  }
  if (this$static.widget) {
    $remove_4(this$static, this$static.widget);
  }
  this$static.widget = w;
  if (w) {
    this$static.element.appendChild(this$static.widget.element);
    $setParent(w, this$static);
  }
}

function getClass_85(){
  return Lcom_google_gwt_user_client_ui_SimplePanel_2_classLit;
}

function iterator_1(){
  return $SimplePanel$1(new SimplePanel$1(), this);
}

function remove_4(w){
  return $remove_4(this, w);
}

function SimplePanel(){
}

_ = SimplePanel.prototype = new Panel();
_.getClass$ = getClass_85;
_.iterator_0 = iterator_1;
_.remove = remove_4;
_.typeId$ = 48;
_.widget = null;
function $clinit_107(){
  $clinit_107 = nullMethod;
  impl_0 = ($clinit_192() , implPanel);
}

var impl_0;
function $Label(this$static){
  this$static.element = $doc.createElement('div');
  this$static.element['className'] = 'gwt-Label';
  return this$static;
}

function $Label_1(this$static, text){
  this$static.element = $doc.createElement('div');
  this$static.element['className'] = 'gwt-Label';
  $setInnerText(this$static.element, text);
  return this$static;
}

function $Label_0(this$static, element){
  this$static.element = element;
  return this$static;
}

function getClass_74(){
  return Lcom_google_gwt_user_client_ui_Label_2_classLit;
}

function onBrowserEvent_4(event_0){
  $eventGetTypeInt(event_0);
}

function Label(){
}

_ = Label.prototype = new Widget();
_.getClass$ = getClass_74;
_.onBrowserEvent = onBrowserEvent_4;
_.typeId$ = 49;
function $HTML(this$static, html){
  $Label_0(this$static, $doc.createElement('div'));
  this$static.element['className'] = 'gwt-HTML';
  this$static.element.innerHTML = html || '';
  return this$static;
}

function $HTML_0(this$static, html, wordWrap){
  $Label_0(this$static, $doc.createElement('div'));
  this$static.element['className'] = 'gwt-HTML';
  this$static.element.innerHTML = html || '';
  this$static.element.style['whiteSpace'] = wordWrap?'normal':'nowrap';
  return this$static;
}

function getClass_61(){
  return Lcom_google_gwt_user_client_ui_HTML_2_classLit;
}

function HTML(){
}

_ = HTML.prototype = new Label();
_.getClass$ = getClass_61;
_.typeId$ = 50;
function $HTMLTable$ColumnFormatter(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $prepareColumnGroup(this$static){
  if (!this$static.columnGroup) {
    this$static.columnGroup = $doc.createElement('colgroup');
    $insertChild(this$static.this$0.tableElem, this$static.columnGroup, 0);
    this$static.columnGroup.appendChild($doc.createElement('col'));
  }
}

function getClass_56(){
  return Lcom_google_gwt_user_client_ui_HTMLTable$ColumnFormatter_2_classLit;
}

function HTMLTable$ColumnFormatter(){
}

_ = HTMLTable$ColumnFormatter.prototype = new Object_0();
_.getClass$ = getClass_56;
_.typeId$ = 0;
_.columnGroup = null;
_.this$0 = null;
function $HTMLTable$WidgetMapper(this$static){
  this$static.widgetList = $ArrayList(new ArrayList());
  return this$static;
}

function $getWidget_0(this$static, elem){
  var index_0, index;
  index_0 = (index = elem['__widgetID'] , index == null?-1:index);
  if (index_0 < 0) {
    return null;
  }
  return dynamicCast($get_4(this$static.widgetList, index_0), 20);
}

function $putWidget(this$static, widget){
  var index;
  if (!this$static.freeList) {
    index = this$static.widgetList.size_0;
    $add_8(this$static.widgetList, widget);
  }
   else {
    index = this$static.freeList.index_0;
    dynamicCast($set_0(this$static.widgetList, index, widget), 20);
    this$static.freeList = this$static.freeList.next_0;
  }
  widget.element['__widgetID'] = index;
}

function $removeWidgetByElement(this$static, elem){
  var index_0, index;
  index_0 = (index = elem['__widgetID'] , index == null?-1:index);
  elem['__widgetID'] = null;
  dynamicCast($set_0(this$static.widgetList, index_0, null), 20);
  this$static.freeList = $HTMLTable$WidgetMapper$FreeNode(new HTMLTable$WidgetMapper$FreeNode(), index_0, this$static.freeList);
}

function getClass_59(){
  return Lcom_google_gwt_user_client_ui_HTMLTable$WidgetMapper_2_classLit;
}

function HTMLTable$WidgetMapper(){
}

_ = HTMLTable$WidgetMapper.prototype = new Object_0();
_.getClass$ = getClass_59;
_.typeId$ = 0;
_.freeList = null;
function $HTMLTable$WidgetMapper$1(this$static, this$1){
  this$static.this$1 = this$1;
  $findNext(this$static);
  return this$static;
}

function $findNext(this$static){
  while (++this$static.nextIndex < this$static.this$1.widgetList.size_0) {
    if (dynamicCast($get_4(this$static.this$1.widgetList, this$static.nextIndex), 20)) {
      return;
    }
  }
}

function getClass_57(){
  return Lcom_google_gwt_user_client_ui_HTMLTable$WidgetMapper$1_2_classLit;
}

function hasNext_0(){
  return this.nextIndex < this.this$1.widgetList.size_0;
}

function next_1(){
  var result;
  if (this.nextIndex >= this.this$1.widgetList.size_0) {
    throw new NoSuchElementException();
  }
  result = dynamicCast($get_4(this.this$1.widgetList, this.nextIndex), 20);
  $findNext(this);
  return result;
}

function HTMLTable$WidgetMapper$1(){
}

_ = HTMLTable$WidgetMapper$1.prototype = new Object_0();
_.getClass$ = getClass_57;
_.hasNext = hasNext_0;
_.next_1 = next_1;
_.typeId$ = 0;
_.nextIndex = -1;
_.this$1 = null;
function $HTMLTable$WidgetMapper$FreeNode(this$static, index, next){
  this$static.index_0 = index;
  this$static.next_0 = next;
  return this$static;
}

function getClass_58(){
  return Lcom_google_gwt_user_client_ui_HTMLTable$WidgetMapper$FreeNode_2_classLit;
}

function HTMLTable$WidgetMapper$FreeNode(){
}

_ = HTMLTable$WidgetMapper$FreeNode.prototype = new Object_0();
_.getClass$ = getClass_58;
_.typeId$ = 0;
_.index_0 = 0;
_.next_0 = null;
function $clinit_121(){
  $clinit_121 = nullMethod;
  ALIGN_CENTER = $HasHorizontalAlignment$HorizontalAlignmentConstant(new HasHorizontalAlignment$HorizontalAlignmentConstant(), 'center');
  ALIGN_LEFT = $HasHorizontalAlignment$HorizontalAlignmentConstant(new HasHorizontalAlignment$HorizontalAlignmentConstant(), 'left');
  ALIGN_RIGHT = $HasHorizontalAlignment$HorizontalAlignmentConstant(new HasHorizontalAlignment$HorizontalAlignmentConstant(), 'right');
  ALIGN_DEFAULT = ALIGN_LEFT;
}

var ALIGN_CENTER, ALIGN_DEFAULT, ALIGN_LEFT, ALIGN_RIGHT;
function $HasHorizontalAlignment$HorizontalAlignmentConstant(this$static, textAlignString){
  this$static.textAlignString = textAlignString;
  return this$static;
}

function getClass_62(){
  return Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classLit;
}

function HasHorizontalAlignment$HorizontalAlignmentConstant(){
}

_ = HasHorizontalAlignment$HorizontalAlignmentConstant.prototype = new Object_0();
_.getClass$ = getClass_62;
_.typeId$ = 0;
_.textAlignString = null;
function $clinit_125(){
  $clinit_125 = nullMethod;
  ALIGN_BOTTOM = $HasVerticalAlignment$VerticalAlignmentConstant(new HasVerticalAlignment$VerticalAlignmentConstant(), 'bottom');
  ALIGN_MIDDLE = $HasVerticalAlignment$VerticalAlignmentConstant(new HasVerticalAlignment$VerticalAlignmentConstant(), 'middle');
  ALIGN_TOP = $HasVerticalAlignment$VerticalAlignmentConstant(new HasVerticalAlignment$VerticalAlignmentConstant(), 'top');
}

var ALIGN_BOTTOM, ALIGN_MIDDLE, ALIGN_TOP;
function $HasVerticalAlignment$VerticalAlignmentConstant(this$static, verticalAlignString){
  this$static.verticalAlignString = verticalAlignString;
  return this$static;
}

function getClass_63(){
  return Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classLit;
}

function HasVerticalAlignment$VerticalAlignmentConstant(){
}

_ = HasVerticalAlignment$VerticalAlignmentConstant.prototype = new Object_0();
_.getClass$ = getClass_63;
_.typeId$ = 0;
_.verticalAlignString = null;
function $HorizontalPanel(this$static){
  $CellPanel(this$static);
  this$static.horzAlign = ($clinit_121() , ALIGN_DEFAULT);
  this$static.vertAlign = ($clinit_125() , ALIGN_TOP);
  this$static.tableRow = $doc.createElement('tr');
  this$static.body_0.appendChild(this$static.tableRow);
  this$static.table['cellSpacing'] = '0';
  this$static.table['cellPadding'] = '0';
  return this$static;
}

function $add_1(this$static, w){
  var td_2;
  td_2 = $createAlignedTd(this$static);
  this$static.tableRow.appendChild(td_2);
  $removeFromParent(w);
  $add_6(this$static.children, w);
  td_2.appendChild(w.element);
  $setParent(w, this$static);
}

function $createAlignedTd(this$static){
  var td;
  td = $doc.createElement('td');
  td['align'] = this$static.horzAlign.textAlignString;
  td.style['verticalAlign'] = this$static.vertAlign.verticalAlignString;
  return td;
}

function $insert_1(this$static, w, beforeIndex){
  var td_2;
  $checkIndexBoundsForInsertion(this$static, beforeIndex);
  td_2 = $createAlignedTd(this$static);
  $insertChild(this$static.tableRow, td_2, beforeIndex);
  $insert(this$static, w, td_2, beforeIndex, false);
}

function $remove_3(this$static, w){
  var removed, td;
  td = $getParentElement(w.element);
  removed = $remove_0(this$static, w);
  if (removed) {
    this$static.tableRow.removeChild(td);
  }
  return removed;
}

function getClass_64(){
  return Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit;
}

function remove_3(w){
  return $remove_3(this, w);
}

function HorizontalPanel(){
}

_ = HorizontalPanel.prototype = new CellPanel();
_.getClass$ = getClass_64;
_.remove = remove_3;
_.typeId$ = 51;
_.tableRow = null;
function $SplitPanel(this$static, mainElem, splitElem, headElem, tailElem){
  this$static.widgets = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, 0, 20, 2, 0);
  this$static.elements = initDim(_3Lcom_google_gwt_core_client_JavaScriptObject_2_classLit, 0, -1, 2, 0);
  this$static.element = mainElem;
  this$static.splitElem = splitElem;
  setCheck(this$static.elements, 0, headElem);
  setCheck(this$static.elements, 1, tailElem);
  sinkEvents(this$static.element, 124 | (this$static.element.__eventBits || 0));
  return this$static;
}

function $add_3(this$static, w){
  if (!this$static.widgets[0]) {
    $setWidget_1(this$static, 0, w);
  }
   else if (!this$static.widgets[1]) {
    $setWidget_1(this$static, 1, w);
  }
   else {
    throw $IllegalStateException(new IllegalStateException(), 'A Splitter can only contain two Widgets.');
  }
}

function $setWidget_1(this$static, index, w){
  var oldWidget;
  oldWidget = this$static.widgets[index];
  if (oldWidget == w) {
    return;
  }
  if (w) {
    $removeFromParent(w);
  }
  if (oldWidget) {
    $setParent(oldWidget, null);
    this$static.elements[index].removeChild(oldWidget.element);
  }
  setCheck(this$static.widgets, index, w);
  if (w) {
    this$static.elements[index].appendChild(w.element);
    $setParent(w, this$static);
  }
}

function expandToFitParentUsingCssOffsets(elem){
  elem.style['position'] = 'absolute';
  elem.style['left'] = '0px';
  elem.style['right'] = '0px';
  elem.style['top'] = '0px';
  elem.style['bottom'] = '0px';
}

function getClass_86(){
  return Lcom_google_gwt_user_client_ui_SplitPanel_2_classLit;
}

function iterator_2(){
  return $WidgetIterators$1(new WidgetIterators$1(), this.widgets);
}

function onBrowserEvent_7(event_0){
  var target;
  switch ($eventGetTypeInt(event_0)) {
    case 4:
      {
        target = event_0.target;
        if ($isOrHasChild(this.splitElem, target)) {
          this.isResizing = true;
          this.onSplitterResizeStarted((event_0.clientX || 0) - $getAbsoluteLeft(this.element), (event_0.clientY || 0) - $getAbsoluteTop(this.element));
          setCapture(this.element);
          event_0.preventDefault();
        }
        break;
      }

    case 8:
      {
        releaseCapture(this.element);
        this.isResizing = false;
        break;
      }

    case 64:
      {
        if (this.isResizing) {
          this.onSplitterResize((event_0.clientX || 0) - $getAbsoluteLeft(this.element), (event_0.clientY || 0) - $getAbsoluteTop(this.element));
          event_0.preventDefault();
        }
        break;
      }

  }
}

function preventBoxStyles(elem){
  elem.style['padding'] = '0';
  elem.style['margin'] = '0';
  elem.style['border'] = 'none';
  return elem;
}

function remove_5(widget){
  if (this.widgets[0] == widget) {
    $setWidget_1(this, 0, null);
    return true;
  }
   else if (this.widgets[1] == widget) {
    $setWidget_1(this, 1, null);
    return true;
  }
  return false;
}

function SplitPanel(){
}

_ = SplitPanel.prototype = new Panel();
_.getClass$ = getClass_86;
_.iterator_0 = iterator_2;
_.onBrowserEvent = onBrowserEvent_7;
_.remove = remove_5;
_.typeId$ = 52;
_.isResizing = false;
_.splitElem = null;
function $HorizontalSplitPanel(this$static){
  $HorizontalSplitPanel_0(this$static, ($clinit_132() , new HorizontalSplitPanelImages_generatedBundle()));
  return this$static;
}

function $HorizontalSplitPanel_0(this$static){
  $SplitPanel(this$static, $doc.createElement('div'), $doc.createElement('div'), preventBoxStyles($doc.createElement('div')), preventBoxStyles($doc.createElement('div')));
  this$static.impl = new HorizontalSplitPanel$Impl();
  this$static.container = preventBoxStyles($doc.createElement('div'));
  $buildDOM(this$static, ($clinit_132() , horizontalSplitPanelThumb_SINGLETON));
  this$static.element['className'] = 'gwt-HorizontalSplitPanel';
  $init_0(this$static.impl, this$static);
  this$static.element.style['height'] = '100%';
  return this$static;
}

function $buildDOM(this$static, thumbImage){
  var leftDiv, rightDiv, splitDiv;
  leftDiv = this$static.elements[0];
  rightDiv = this$static.elements[1];
  splitDiv = this$static.splitElem;
  this$static.element.appendChild(this$static.container);
  this$static.container.appendChild(leftDiv);
  this$static.container.appendChild(splitDiv);
  this$static.container.appendChild(rightDiv);
  splitDiv.innerHTML = "<table class='hsplitter' height='100%' cellpadding='0' cellspacing='0'><tr><td align='center' valign='middle'>" + $getHTML(thumbImage.url, thumbImage.left, thumbImage.top, thumbImage.width_0, thumbImage.height_0) || '';
  leftDiv.style['overflow'] = 'auto';
  rightDiv.style['overflow'] = 'auto';
}

function $setSplitPosition_0(this$static, pos){
  this$static.lastSplitPosition = pos;
  $setSplitPosition(this$static.impl, pos);
}

function getClass_68(){
  return Lcom_google_gwt_user_client_ui_HorizontalSplitPanel_2_classLit;
}

function onLoad(){
  $setSplitPosition_0(this, this.lastSplitPosition);
  addCommand($HorizontalSplitPanel$1(new HorizontalSplitPanel$1(), this));
}

function onSplitterResize(x, y){
  $setSplitPositionUsingPixels(this.impl, this.initialLeftWidth + x - this.initialThumbPos);
}

function onSplitterResizeStarted(x, y){
  this.initialThumbPos = x;
  this.initialLeftWidth = parseInt(this.elements[0]['offsetWidth']) || 0;
}

function onUnload(){
}

function HorizontalSplitPanel(){
}

_ = HorizontalSplitPanel.prototype = new SplitPanel();
_.getClass$ = getClass_68;
_.onLoad = onLoad;
_.onSplitterResize = onSplitterResize;
_.onSplitterResizeStarted = onSplitterResizeStarted;
_.onUnload = onUnload;
_.typeId$ = 53;
_.container = null;
_.initialLeftWidth = 0;
_.initialThumbPos = 0;
_.lastSplitPosition = '50%';
function $HorizontalSplitPanel$1(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function execute(){
  $setSplitPosition_0(this.this$0, this.this$0.lastSplitPosition);
}

function getClass_65(){
  return Lcom_google_gwt_user_client_ui_HorizontalSplitPanel$1_2_classLit;
}

function HorizontalSplitPanel$1(){
}

_ = HorizontalSplitPanel$1.prototype = new Object_0();
_.execute_0 = execute;
_.getClass$ = getClass_65;
_.typeId$ = 54;
_.this$0 = null;
function $init_0(this$static, panel){
  this$static.panel = panel;
  panel.element.style['position'] = 'relative';
  expandToFitParentHorizontally(panel.elements[0]);
  expandToFitParentHorizontally(panel.elements[1]);
  expandToFitParentHorizontally(panel.splitElem);
  expandToFitParentUsingCssOffsets(panel.container);
  panel.elements[1].style['right'] = '0px';
}

function $setSplitPosition(this$static, pos){
  var leftElem;
  leftElem = this$static.panel.elements[0];
  leftElem.style['width'] = pos;
  $setSplitPositionUsingPixels(this$static, parseInt(leftElem['offsetWidth']) || 0);
}

function $setSplitPositionUsingPixels(this$static, px){
  var newRightWidth, rightElem, rootElemWidth, splitElem, splitElemWidth;
  splitElem = this$static.panel.splitElem;
  rootElemWidth = parseInt(this$static.panel.container['offsetWidth']) || 0;
  splitElemWidth = parseInt(splitElem['offsetWidth']) || 0;
  if (rootElemWidth < splitElemWidth) {
    return;
  }
  newRightWidth = rootElemWidth - px - splitElemWidth;
  if (px < 0) {
    px = 0;
    newRightWidth = rootElemWidth - splitElemWidth;
  }
   else if (newRightWidth < 0) {
    px = rootElemWidth - splitElemWidth;
    newRightWidth = 0;
  }
  rightElem = this$static.panel.elements[1];
  this$static.panel.elements[0].style['width'] = px + 'px';
  splitElem.style['left'] = px + 'px';
  rightElem.style['left'] = px + splitElemWidth + 'px';
}

function expandToFitParentHorizontally(elem){
  elem.style['position'] = 'absolute';
  elem.style['top'] = '0px';
  elem.style['bottom'] = '0px';
}

function getClass_66(){
  return Lcom_google_gwt_user_client_ui_HorizontalSplitPanel$Impl_2_classLit;
}

function HorizontalSplitPanel$Impl(){
}

_ = HorizontalSplitPanel$Impl.prototype = new Object_0();
_.getClass$ = getClass_66;
_.typeId$ = 0;
_.panel = null;
function $clinit_132(){
  $clinit_132 = nullMethod;
  IMAGE_BUNDLE_URL = $moduleBase + '4BF90CCB5E6B04D22EF1776E8EBF09F8.cache.png';
  horizontalSplitPanelThumb_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL, 0, 0, 7, 7);
}

function getClass_67(){
  return Lcom_google_gwt_user_client_ui_HorizontalSplitPanelImages_1generatedBundle_2_classLit;
}

function HorizontalSplitPanelImages_generatedBundle(){
}

_ = HorizontalSplitPanelImages_generatedBundle.prototype = new Object_0();
_.getClass$ = getClass_67;
_.typeId$ = 0;
var IMAGE_BUNDLE_URL, horizontalSplitPanelThumb_SINGLETON;
function $clinit_138(){
  $clinit_138 = nullMethod;
  $clearImpl(new HashMap());
}

function $Image(this$static, url, left, top, width, height){
  $clinit_138();
  $Image$ClippedState(new Image$ClippedState(), this$static, url, left, top, width, height);
  this$static.element['className'] = 'gwt-Image';
  return this$static;
}

function getClass_72(){
  return Lcom_google_gwt_user_client_ui_Image_2_classLit;
}

function onBrowserEvent_3(event_0){
  $eventGetTypeInt(event_0);
}

function Image_0(){
}

_ = Image_0.prototype = new Widget();
_.getClass$ = getClass_72;
_.onBrowserEvent = onBrowserEvent_3;
_.typeId$ = 55;
function getClass_71(){
  return Lcom_google_gwt_user_client_ui_Image$State_2_classLit;
}

function Image$State(){
}

_ = Image$State.prototype = new Object_0();
_.getClass$ = getClass_71;
_.typeId$ = 0;
function $Image$ClippedState(this$static, image, url, left, top, width, height){
  var tmp;
  $replaceElement_0(image, (tmp = $doc.createElement('span') , (tmp.innerHTML = $getHTML(url, left, top, width, height) || '' , undefined) , $getFirstChildElement(tmp)));
  sinkEvents(image.element, 131197 | (image.element.__eventBits || 0));
  addCommand(new Image$ClippedState$1());
  return this$static;
}

function getClass_70(){
  return Lcom_google_gwt_user_client_ui_Image$ClippedState_2_classLit;
}

function Image$ClippedState(){
}

_ = Image$ClippedState.prototype = new Image$State();
_.getClass$ = getClass_70;
_.typeId$ = 0;
function execute_0(){
}

function getClass_69(){
  return Lcom_google_gwt_user_client_ui_Image$ClippedState$1_2_classLit;
}

function Image$ClippedState$1(){
}

_ = Image$ClippedState$1.prototype = new Object_0();
_.execute_0 = execute_0;
_.getClass$ = getClass_69;
_.typeId$ = 56;
function $KeyboardListenerCollection(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classLit, 0, 0, 0, 0);
  this$static.size_0 = 0;
  return this$static;
}

function $fireKeyDown(this$static, sender, keyCode, modifiers){
  var listener, listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i < listener$iterator.this$0.size_1();) {
    listener = dynamicCast($next_1(listener$iterator), 21);
    listener.onKeyDown(sender, keyCode, modifiers);
  }
}

function $fireKeyPress(this$static, sender, key, modifiers){
  var listener, listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i < listener$iterator.this$0.size_1();) {
    listener = dynamicCast($next_1(listener$iterator), 21);
    listener.onKeyPress(sender, key, modifiers);
  }
}

function $fireKeyUp(this$static, sender, keyCode, modifiers){
  var listener, listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i < listener$iterator.this$0.size_1();) {
    listener = dynamicCast($next_1(listener$iterator), 21);
    listener.onKeyUp(sender, keyCode, modifiers);
  }
}

function $fireKeyboardEvent(this$static, sender, event_0){
  var modifiers;
  modifiers = (event_0.shiftKey?1:0) | (event_0.metaKey?8:0) | (event_0.ctrlKey?2:0) | (event_0.altKey?4:0);
  switch ($eventGetTypeInt(event_0)) {
    case 128:
      $fireKeyDown(this$static, sender, (event_0.which || (event_0.keyCode || 0)) & 65535, modifiers);
      break;
    case 512:
      $fireKeyUp(this$static, sender, (event_0.which || (event_0.keyCode || 0)) & 65535, modifiers);
      break;
    case 256:
      $fireKeyPress(this$static, sender, (event_0.which || (event_0.keyCode || 0)) & 65535, modifiers);
  }
}

function getClass_73(){
  return Lcom_google_gwt_user_client_ui_KeyboardListenerCollection_2_classLit;
}

function KeyboardListenerCollection(){
}

_ = KeyboardListenerCollection.prototype = new ArrayList();
_.getClass$ = getClass_73;
_.typeId$ = 57;
function $clinit_143(){
  $clinit_143 = nullMethod;
  $clinit_108();
}

function $ListBox(this$static){
  $clinit_143();
  $FocusWidget(this$static, $createSelectElement(false));
  this$static.element['className'] = 'gwt-ListBox';
  return this$static;
}

function $addChangeListener(this$static, listener){
  if (!this$static.changeListeners) {
    this$static.changeListeners = $ChangeListenerCollection(new ChangeListenerCollection());
    sinkEvents(this$static.element, 1024 | (this$static.element.__eventBits || 0));
  }
  $add_8(this$static.changeListeners, listener);
}

function $addItem(this$static, item){
  $insertItem_0(this$static, item, item, -1);
}

function $checkIndex(this$static, index){
  if (index < 0 || index >= this$static.element.options.length) {
    throw new IndexOutOfBoundsException();
  }
}

function $getItemText(this$static, index){
  $checkIndex(this$static, index);
  return this$static.element.options[index].text;
}

function $getValue_0(this$static, index){
  $checkIndex(this$static, index);
  return this$static.element.options[index].value;
}

function $insertItem(this$static, item, index){
  $insertItem_0(this$static, item, item, index);
}

function $insertItem_0(this$static, item, value, index){
  var before, option, select;
  select = this$static.element;
  option = $doc.createElement('option');
  option.text = item;
  option.value = value;
  if (index == -1 || index == select.options.length) {
    select.add(option, null);
  }
   else {
    before = select.options[index];
    select.add(option, before);
  }
}

function getClass_75(){
  return Lcom_google_gwt_user_client_ui_ListBox_2_classLit;
}

function onBrowserEvent_5(event_0){
  if ($eventGetTypeInt(event_0) == 1024) {
    if (this.changeListeners) {
      $fireChange(this.changeListeners, this);
    }
  }
   else {
    $onBrowserEvent(this, event_0);
  }
}

function ListBox(){
}

_ = ListBox.prototype = new FocusWidget();
_.getClass$ = getClass_75;
_.onBrowserEvent = onBrowserEvent_5;
_.typeId$ = 58;
_.changeListeners = null;
function $clinit_145(){
  $clinit_145 = nullMethod;
  $clinit_102();
}

function $PushButton(this$static, upImage){
  $clinit_145();
  $CustomButton_0(this$static, upImage);
  this$static.element['className'] = 'gwt-PushButton';
  return this$static;
}

function getClass_77(){
  return Lcom_google_gwt_user_client_ui_PushButton_2_classLit;
}

function onClick_0(){
  $setDown(this, false);
  $fireClickListeners(this);
}

function onClickCancel_0(){
  $setDown(this, false);
}

function onClickStart_0(){
  $setDown(this, true);
}

function PushButton(){
}

_ = PushButton.prototype = new CustomButton();
_.getClass$ = getClass_77;
_.onClick = onClick_0;
_.onClickCancel = onClickCancel_0;
_.onClickStart = onClickStart_0;
_.typeId$ = 59;
function $clinit_150(){
  $clinit_150 = nullMethod;
  $clinit_108();
}

function $RichTextArea(this$static){
  $clinit_150();
  this$static.impl = $RichTextAreaImplMozilla(new RichTextAreaImplMozilla());
  $setElement(this$static, this$static.impl.elem);
  this$static.element['className'] = 'gwt-RichTextArea';
  return this$static;
}

function $getBasicFormatter(this$static){
  if (this$static.impl) {
    return this$static.impl;
  }
  return null;
}

function $getExtendedFormatter(this$static){
  if (this$static.impl) {
    return this$static.impl;
  }
  return null;
}

function getClass_80(){
  return Lcom_google_gwt_user_client_ui_RichTextArea_2_classLit;
}

function onAttach_1(){
  $onAttach(this);
  $initElement(this.impl);
}

function onBrowserEvent_6(event_0){
  switch ($eventGetTypeInt(event_0)) {
    case 4:
    case 8:
    case 64:
    case 16:
    case 32:
      break;
    default:$onBrowserEvent(this, event_0);
  }
}

function onDetach_1(){
  $onDetach(this);
  $uninitElement(this.impl);
}

function RichTextArea(){
}

_ = RichTextArea.prototype = new FocusWidget();
_.getClass$ = getClass_80;
_.onAttach = onAttach_1;
_.onBrowserEvent = onBrowserEvent_6;
_.onDetach = onDetach_1;
_.typeId$ = 60;
function $clinit_148(){
  $clinit_148 = nullMethod;
  XX_SMALL = $RichTextArea$FontSize(new RichTextArea$FontSize(), 1);
  X_SMALL = $RichTextArea$FontSize(new RichTextArea$FontSize(), 2);
  SMALL = $RichTextArea$FontSize(new RichTextArea$FontSize(), 3);
  MEDIUM = $RichTextArea$FontSize(new RichTextArea$FontSize(), 4);
  LARGE = $RichTextArea$FontSize(new RichTextArea$FontSize(), 5);
  X_LARGE = $RichTextArea$FontSize(new RichTextArea$FontSize(), 6);
  XX_LARGE = $RichTextArea$FontSize(new RichTextArea$FontSize(), 7);
}

function $RichTextArea$FontSize(this$static, number){
  $clinit_148();
  this$static.number = number;
  return this$static;
}

function getClass_78(){
  return Lcom_google_gwt_user_client_ui_RichTextArea$FontSize_2_classLit;
}

function toString_10(){
  return '' + this.number;
}

function RichTextArea$FontSize(){
}

_ = RichTextArea$FontSize.prototype = new Object_0();
_.getClass$ = getClass_78;
_.toString$ = toString_10;
_.typeId$ = 61;
_.number = 0;
var LARGE, MEDIUM, SMALL, XX_LARGE, XX_SMALL, X_LARGE, X_SMALL;
function $clinit_149(){
  $clinit_149 = nullMethod;
  CENTER = $RichTextArea$Justification(new RichTextArea$Justification(), 'Center');
  LEFT = $RichTextArea$Justification(new RichTextArea$Justification(), 'Left');
  RIGHT = $RichTextArea$Justification(new RichTextArea$Justification(), 'Right');
}

function $RichTextArea$Justification(this$static, tag){
  $clinit_149();
  this$static.tag = tag;
  return this$static;
}

function getClass_79(){
  return Lcom_google_gwt_user_client_ui_RichTextArea$Justification_2_classLit;
}

function toString_11(){
  return 'Justify ' + this.tag;
}

function RichTextArea$Justification(){
}

_ = RichTextArea$Justification.prototype = new Object_0();
_.getClass$ = getClass_79;
_.toString$ = toString_11;
_.typeId$ = 0;
_.tag = null;
var CENTER, LEFT, RIGHT;
function $clinit_153(){
  $clinit_153 = nullMethod;
  rootPanels = $HashMap(new HashMap());
  widgetsToDetach = $HashSet(new HashSet());
}

function $RootPanel(this$static, elem){
  $clinit_153();
  this$static.children = $WidgetCollection(new WidgetCollection());
  this$static.element = elem;
  $onAttach(this$static);
  return this$static;
}

function detachWidgets(){
  var outerIter, entry;
  $clinit_153();
  var widget, widget$iterator;
  for (widget$iterator = (outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), $keySet_0(widgetsToDetach.map).val$entrySet.this$0) , $AbstractMap$1$1(new AbstractMap$1$1(), outerIter)); $hasNext_0(widget$iterator.val$outerIter.iter);) {
    widget = dynamicCast((entry = dynamicCast($next_1(widget$iterator.val$outerIter.iter), 4) , entry.getKey()), 20);
    if (widget.isAttached()) {
      widget.onDetach();
    }
  }
}

function get_0(id){
  $clinit_153();
  var rp;
  rp = dynamicCast($get_3(rootPanels, id), 22);
  if (rp) {
    return rp;
  }
  if (rootPanels.size_0 == 0) {
    addWindowCloseListener(new RootPanel$1());
  }
  rp = $RootPanel$DefaultRootPanel(new RootPanel$DefaultRootPanel());
  dynamicCast($put_1(rootPanels, id, rp), 22);
  $add_9(widgetsToDetach, rp);
  return rp;
}

function getClass_83(){
  return Lcom_google_gwt_user_client_ui_RootPanel_2_classLit;
}

function RootPanel(){
}

_ = RootPanel.prototype = new AbsolutePanel();
_.getClass$ = getClass_83;
_.typeId$ = 62;
var rootPanels, widgetsToDetach;
function getClass_81(){
  return Lcom_google_gwt_user_client_ui_RootPanel$1_2_classLit;
}

function onWindowClosed_0(){
  detachWidgets();
}

function onWindowClosing_0(){
  return null;
}

function RootPanel$1(){
}

_ = RootPanel$1.prototype = new Object_0();
_.getClass$ = getClass_81;
_.onWindowClosed = onWindowClosed_0;
_.onWindowClosing = onWindowClosing_0;
_.typeId$ = 63;
function $clinit_152(){
  $clinit_152 = nullMethod;
  $clinit_153();
}

function $RootPanel$DefaultRootPanel(this$static){
  $clinit_152();
  $RootPanel(this$static, $doc.body);
  return this$static;
}

function getClass_82(){
  return Lcom_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_2_classLit;
}

function RootPanel$DefaultRootPanel(){
}

_ = RootPanel$DefaultRootPanel.prototype = new RootPanel();
_.getClass$ = getClass_82;
_.typeId$ = 64;
function $SimplePanel$1(this$static, this$0){
  this$static.this$0 = this$0;
  this$static.hasElement = !!this$static.this$0.widget;
  return this$static;
}

function getClass_84(){
  return Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classLit;
}

function hasNext_1(){
  return this.hasElement;
}

function next_2(){
  if (!this.hasElement || !this.this$0.widget) {
    throw new NoSuchElementException();
  }
  this.hasElement = false;
  return this.this$0.widget;
}

function SimplePanel$1(){
}

_ = SimplePanel$1.prototype = new Object_0();
_.getClass$ = getClass_84;
_.hasNext = hasNext_1;
_.next_1 = next_2;
_.typeId$ = 0;
_.this$0 = null;
function $addTabListener(this$static, listener){
  if (!this$static.tabListeners) {
    this$static.tabListeners = $TabListenerCollection(new TabListenerCollection());
  }
  $add_8(this$static.tabListeners, listener);
}

function $checkInsertBeforeTabIndex(this$static, beforeIndex){
  if (beforeIndex < 0 || beforeIndex > this$static.panel.children.size_0 - 2) {
    throw new IndexOutOfBoundsException();
  }
}

function $checkTabIndex(this$static, index){
  if (index < -1 || index >= this$static.panel.children.size_0 - 2) {
    throw new IndexOutOfBoundsException();
  }
}

function $insertTab(this$static, text, asHTML, beforeIndex){
  var item, delWidget, focusablePanel;
  $checkInsertBeforeTabIndex(this$static, beforeIndex);
  if (asHTML) {
    item = $HTML(new HTML(), text);
  }
   else {
    item = $Label_1(new Label(), text);
  }
  item.element.style['whiteSpace'] = 'nowrap';
  $checkInsertBeforeTabIndex(this$static, beforeIndex);
  delWidget = $TabBar$ClickDelegatePanel(new TabBar$ClickDelegatePanel(), item, this$static, this$static);
  delWidget.element['className'] = 'gwt-TabBarItem';
  focusablePanel = delWidget.focusablePanel;
  focusablePanel.element.setAttribute('role', 'tab');
  $insert_1(this$static.panel, delWidget, beforeIndex + 1);
  setStyleName($getParentElement(delWidget.element), 'gwt-TabBarItem-wrapper', true);
}

function $onKeyDown(this$static, sender, keyCode){
  if (keyCode == 13) {
    $selectTabByTabWidget(this$static, sender);
  }
}

function $removeTab(this$static, index){
  var toRemove;
  $checkTabIndex(this$static, index);
  toRemove = $get_1(this$static.panel.children, index + 1);
  if (toRemove == this$static.selectedTab) {
    this$static.selectedTab = null;
  }
  $remove_3(this$static.panel, toRemove);
}

function $selectTab(this$static, index){
  $checkTabIndex(this$static, index);
  if (this$static.tabListeners) {
    if (!$fireBeforeTabSelected(this$static.tabListeners, this$static, index)) {
      return false;
    }
  }
  $setSelectionStyle(this$static.selectedTab, false);
  if (index == -1) {
    this$static.selectedTab = null;
    return true;
  }
  this$static.selectedTab = $get_1(this$static.panel.children, index + 1);
  $setSelectionStyle(this$static.selectedTab, true);
  if (this$static.tabListeners) {
    $fireTabSelected(this$static.tabListeners, this$static, index);
  }
  return true;
}

function $selectTabByTabWidget(this$static, tabWidget){
  var i, numTabs;
  numTabs = this$static.panel.children.size_0 - 1;
  for (i = 1; i < numTabs; ++i) {
    if ($get_1(this$static.panel.children, i) == tabWidget) {
      return $selectTab(this$static, i - 1);
    }
  }
  return false;
}

function $setSelectionStyle(item, selected){
  if (item) {
    if (selected) {
      setStyleName(item.element, 'gwt-TabBarItem-selected', true);
      setStyleName($getParentElement(item.element), 'gwt-TabBarItem-wrapper-selected', true);
    }
     else {
      setStyleName(item.element, 'gwt-TabBarItem-selected', false);
      setStyleName($getParentElement(item.element), 'gwt-TabBarItem-wrapper-selected', false);
    }
  }
}

function getClass_88(){
  return Lcom_google_gwt_user_client_ui_TabBar_2_classLit;
}

function onClick_1(sender){
  $selectTabByTabWidget(this, sender);
}

function onKeyDown(sender, keyCode, modifiers){
  $onKeyDown(this, sender, keyCode);
}

function onKeyPress(sender, keyCode, modifiers){
}

function onKeyUp(sender, keyCode, modifiers){
}

function TabBar(){
}

_ = TabBar.prototype = new Composite();
_.getClass$ = getClass_88;
_.onClick_0 = onClick_1;
_.onKeyDown = onKeyDown;
_.onKeyPress = onKeyPress;
_.onKeyUp = onKeyUp;
_.typeId$ = 65;
_.selectedTab = null;
_.tabListeners = null;
function $TabBar$ClickDelegatePanel(this$static, child, cDelegate, kDelegate){
  this$static.clickDelegate = cDelegate;
  this$static.keyDelegate = kDelegate;
  this$static.focusablePanel = $SimplePanel_0(new SimplePanel(), $createFocusable(($clinit_107() , impl_0)));
  $setWidget_0(this$static.focusablePanel, child);
  $initWidget(this$static, this$static.focusablePanel);
  sinkEvents(this$static.element, 129 | (this$static.element.__eventBits || 0));
  return this$static;
}

function getClass_87(){
  return Lcom_google_gwt_user_client_ui_TabBar$ClickDelegatePanel_2_classLit;
}

function onBrowserEvent_8(event_0){
  switch ($eventGetTypeInt(event_0)) {
    case 1:
      $selectTabByTabWidget(this.clickDelegate, this);
      break;
    case 128:
      $onKeyDown(this.keyDelegate, this, (event_0.which || (event_0.keyCode || 0)) & 65535, (event_0.shiftKey?1:0) | (event_0.metaKey?8:0) | (event_0.ctrlKey?2:0) | (event_0.altKey?4:0));
  }
}

function TabBar$ClickDelegatePanel(){
}

_ = TabBar$ClickDelegatePanel.prototype = new Composite();
_.getClass$ = getClass_87;
_.onBrowserEvent = onBrowserEvent_8;
_.typeId$ = 66;
_.clickDelegate = null;
_.focusablePanel = null;
_.keyDelegate = null;
function $TabListenerCollection(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classLit, 0, 0, 0, 0);
  this$static.size_0 = 0;
  return this$static;
}

function $fireBeforeTabSelected(this$static, sender, tabIndex){
  var listener, listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i < listener$iterator.this$0.size_1();) {
    listener = dynamicCast($next_1(listener$iterator), 26);
    if (!listener.onBeforeTabSelected(sender, tabIndex)) {
      return false;
    }
  }
  return true;
}

function $fireTabSelected(this$static, sender, tabIndex){
  var listener, listener$iterator;
  for (listener$iterator = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static); listener$iterator.i < listener$iterator.this$0.size_1();) {
    listener = dynamicCast($next_1(listener$iterator), 26);
    listener.onTabSelected(sender, tabIndex);
  }
}

function getClass_89(){
  return Lcom_google_gwt_user_client_ui_TabListenerCollection_2_classLit;
}

function TabListenerCollection(){
}

_ = TabListenerCollection.prototype = new ArrayList();
_.getClass$ = getClass_89;
_.typeId$ = 67;
function $TabPanel(this$static){
  var panel, td;
  this$static.tabBar = $TabPanel$UnmodifiableTabBar(new TabPanel$UnmodifiableTabBar());
  this$static.deck = $TabPanel$TabbedDeckPanel(new TabPanel$TabbedDeckPanel(), this$static.tabBar);
  panel = $VerticalPanel(new VerticalPanel());
  $add_5(panel, this$static.tabBar);
  $add_5(panel, this$static.deck);
  td = $getParentElement(this$static.deck.element);
  td['height'] = '100%';
  this$static.tabBar.element.style['width'] = '100%';
  $addTabListener(this$static.tabBar, this$static);
  $initWidget(this$static, panel);
  this$static.element['className'] = 'gwt-TabPanel';
  this$static.deck.element['className'] = 'gwt-TabPanelBottom';
  this$static.deck.element.setAttribute('role', 'tabpanel');
  return this$static;
}

function $add_4(this$static, w, tabText){
  $insert_2(this$static, w, tabText, false, this$static.deck.children.size_0);
}

function $addTabListener_0(this$static, listener){
  if (!this$static.tabListeners) {
    this$static.tabListeners = $TabListenerCollection(new TabListenerCollection());
  }
  $add_8(this$static.tabListeners, listener);
}

function $insert_2(this$static, widget, tabText, asHTML, beforeIndex){
  $insertProtected(this$static.deck, widget, tabText, asHTML, beforeIndex);
}

function getClass_92(){
  return Lcom_google_gwt_user_client_ui_TabPanel_2_classLit;
}

function iterator_3(){
  return $WidgetCollection$WidgetIterator(new WidgetCollection$WidgetIterator(), this.deck.children);
}

function onBeforeTabSelected(sender, tabIndex){
  if (this.tabListeners) {
    return $fireBeforeTabSelected(this.tabListeners, this, tabIndex);
  }
  return true;
}

function onTabSelected(sender, tabIndex){
  $showWidget_0(this.deck, tabIndex);
  if (this.tabListeners) {
    $fireTabSelected(this.tabListeners, this, tabIndex);
  }
}

function remove_7(widget){
  return $remove_5(this.deck, widget);
}

function TabPanel(){
}

_ = TabPanel.prototype = new Composite();
_.getClass$ = getClass_92;
_.iterator_0 = iterator_3;
_.onBeforeTabSelected = onBeforeTabSelected;
_.onTabSelected = onTabSelected;
_.remove = remove_7;
_.typeId$ = 68;
_.tabListeners = null;
function $TabPanel$TabbedDeckPanel(this$static, tabBar){
  this$static.children = $WidgetCollection(new WidgetCollection());
  this$static.element = $doc.createElement('div');
  this$static.tabBar = tabBar;
  return this$static;
}

function $insertProtected(this$static, w, tabText, asHTML, beforeIndex){
  var idx, container_0, container;
  idx = $indexOf(this$static.children, w);
  if (idx != -1) {
    $remove_5(this$static, w);
    if (idx < beforeIndex) {
      --beforeIndex;
    }
  }
  $insertTab(this$static.tabBar, tabText, asHTML, beforeIndex);
  container_0 = (container = $doc.createElement('div') , container.style['width'] = '100%' , container.style['height'] = '0px' , container.style['padding'] = '0px' , container.style['margin'] = '0px' , container);
  $insertChild(this$static.element, container_0, beforeIndex);
  $insert(this$static, w, container_0, beforeIndex, true);
  container_0.style.display = 'none';
  container_0.style['height'] = '100%';
  w.element.style['width'] = '100%';
  w.setHeight('100%');
  w.element.style.display = 'none';
}

function $remove_5(this$static, w){
  var idx;
  idx = $indexOf(this$static.children, w);
  if (idx != -1) {
    $removeTab(this$static.tabBar, idx);
    return $remove_1(this$static, w);
  }
  return false;
}

function getClass_90(){
  return Lcom_google_gwt_user_client_ui_TabPanel$TabbedDeckPanel_2_classLit;
}

function remove_6(w){
  return $remove_5(this, w);
}

function TabPanel$TabbedDeckPanel(){
}

_ = TabPanel$TabbedDeckPanel.prototype = new DeckPanel();
_.getClass$ = getClass_90;
_.remove = remove_6;
_.typeId$ = 69;
_.tabBar = null;
function $TabPanel$UnmodifiableTabBar(this$static){
  var first, rest, td, td_0;
  this$static.panel = $HorizontalPanel(new HorizontalPanel());
  $initWidget(this$static, this$static.panel);
  sinkEvents(this$static.element, 1 | (this$static.element.__eventBits || 0));
  this$static.element['className'] = 'gwt-TabBar';
  this$static.panel.element.setAttribute('role', 'tablist');
  this$static.panel.vertAlign = ($clinit_125() , ALIGN_BOTTOM);
  first = $HTML_0(new HTML(), '&nbsp;', true);
  rest = $HTML_0(new HTML(), '&nbsp;', true);
  first.element['className'] = 'gwt-TabBarFirst';
  rest.element['className'] = 'gwt-TabBarRest';
  first.element.style['height'] = '100%';
  rest.element.style['height'] = '100%';
  $add_1(this$static.panel, first);
  $add_1(this$static.panel, rest);
  first.element.style['height'] = '100%';
  td = $getParentElement(first.element);
  td['height'] = '100%';
  td_0 = $getParentElement(rest.element);
  td_0['width'] = '100%';
  return this$static;
}

function getClass_91(){
  return Lcom_google_gwt_user_client_ui_TabPanel$UnmodifiableTabBar_2_classLit;
}

function TabPanel$UnmodifiableTabBar(){
}

_ = TabPanel$UnmodifiableTabBar.prototype = new TabBar();
_.getClass$ = getClass_91;
_.typeId$ = 70;
function $clinit_175(){
  $clinit_175 = nullMethod;
  $clinit_108();
  $TextBoxBase$TextAlignConstant(new TextBoxBase$TextAlignConstant(), 'center');
  $TextBoxBase$TextAlignConstant(new TextBoxBase$TextAlignConstant(), 'justify');
  ALIGN_LEFT_0 = $TextBoxBase$TextAlignConstant(new TextBoxBase$TextAlignConstant(), 'left');
  $TextBoxBase$TextAlignConstant(new TextBoxBase$TextAlignConstant(), 'right');
}

function $TextBoxBase(this$static, elem){
  $clinit_175();
  this$static.element = elem;
  this$static.setTabIndex(0);
  return this$static;
}

function $setText_3(this$static, text){
  this$static.element['value'] = text != null?text:'';
}

function getClass_95(){
  return Lcom_google_gwt_user_client_ui_TextBoxBase_2_classLit;
}

function onBrowserEvent_9(event_0){
  var type;
  type = $eventGetTypeInt(event_0);
  if ((type & 896) != 0) {
    $onBrowserEvent(this, event_0);
  }
   else if (type == 1024) {
  }
   else {
    $onBrowserEvent(this, event_0);
  }
}

function TextBoxBase(){
}

_ = TextBoxBase.prototype = new FocusWidget();
_.getClass$ = getClass_95;
_.onBrowserEvent = onBrowserEvent_9;
_.typeId$ = 71;
var ALIGN_LEFT_0;
function $clinit_173(){
  $clinit_173 = nullMethod;
  $clinit_175();
}

function $TextArea(this$static){
  $clinit_173();
  $TextBoxBase(this$static, $doc.createElement('textarea'));
  this$static.element['className'] = 'gwt-TextArea';
  return this$static;
}

function getClass_93(){
  return Lcom_google_gwt_user_client_ui_TextArea_2_classLit;
}

function TextArea(){
}

_ = TextArea.prototype = new TextBoxBase();
_.getClass$ = getClass_93;
_.typeId$ = 72;
function $clinit_176(){
  $clinit_176 = nullMethod;
  $clinit_175();
}

function $TextBox(this$static){
  var e;
  $clinit_176();
  $TextBox_0(this$static, (e = $doc.createElement('INPUT') , e.type = 'text' , e), 'gwt-TextBox');
  return this$static;
}

function $TextBox_0(this$static, element, styleName){
  $clinit_176();
  this$static.element = element;
  this$static.setTabIndex(0);
  if (styleName != null) {
    this$static.element['className'] = styleName;
  }
  return this$static;
}

function getClass_96(){
  return Lcom_google_gwt_user_client_ui_TextBox_2_classLit;
}

function TextBox(){
}

_ = TextBox.prototype = new TextBoxBase();
_.getClass$ = getClass_96;
_.typeId$ = 73;
function $TextBoxBase$TextAlignConstant(this$static, textAlignString){
  this$static.textAlignString = textAlignString;
  return this$static;
}

function getClass_94(){
  return Lcom_google_gwt_user_client_ui_TextBoxBase$TextAlignConstant_2_classLit;
}

function TextBoxBase$TextAlignConstant(){
}

_ = TextBoxBase$TextAlignConstant.prototype = new Object_0();
_.getClass$ = getClass_94;
_.typeId$ = 0;
_.textAlignString = null;
function $clinit_177(){
  $clinit_177 = nullMethod;
  $clinit_102();
}

function $ToggleButton(this$static, upImage){
  $clinit_177();
  $CustomButton_0(this$static, upImage);
  this$static.element['className'] = 'gwt-ToggleButton';
  return this$static;
}

function getClass_97(){
  return Lcom_google_gwt_user_client_ui_ToggleButton_2_classLit;
}

function isDown_0(){
  return (1 & ($finishSetup(this) , this.curFace).val$faceID) > 0;
}

function onClick_2(){
  $toggleDown(this);
  $fireClickListeners(this);
}

function ToggleButton(){
}

_ = ToggleButton.prototype = new CustomButton();
_.getClass$ = getClass_97;
_.isDown = isDown_0;
_.onClick = onClick_2;
_.typeId$ = 74;
function $VerticalPanel(this$static){
  $CellPanel(this$static);
  this$static.horzAlign = ($clinit_121() , ALIGN_DEFAULT);
  this$static.vertAlign = ($clinit_125() , ALIGN_TOP);
  this$static.table['cellSpacing'] = '0';
  this$static.table['cellPadding'] = '0';
  return this$static;
}

function $add_5(this$static, w){
  var td_0, tr, td;
  tr = $doc.createElement('tr');
  td_0 = (td = $doc.createElement('td') , (td['align'] = this$static.horzAlign.textAlignString , undefined) , (td.style['verticalAlign'] = this$static.vertAlign.verticalAlignString , undefined) , td);
  tr.appendChild(td_0);
  this$static.body_0.appendChild(tr);
  $removeFromParent(w);
  $add_6(this$static.children, w);
  td_0.appendChild(w.element);
  $setParent(w, this$static);
}

function getClass_99(){
  return Lcom_google_gwt_user_client_ui_VerticalPanel_2_classLit;
}

function remove_8(w){
  var removed, td;
  td = $getParentElement(w.element);
  removed = $remove_0(this, w);
  if (removed) {
    this.body_0.removeChild($getParentElement(td));
  }
  return removed;
}

function VerticalPanel(){
}

_ = VerticalPanel.prototype = new CellPanel();
_.getClass$ = getClass_99;
_.remove = remove_8;
_.typeId$ = 75;
function $VerticalSplitPanel(this$static){
  $VerticalSplitPanel_0(this$static, ($clinit_183() , new VerticalSplitPanelImages_generatedBundle()));
  return this$static;
}

function $VerticalSplitPanel_0(this$static){
  $SplitPanel(this$static, $doc.createElement('div'), $doc.createElement('div'), preventBoxStyles($doc.createElement('div')), preventBoxStyles($doc.createElement('div')));
  this$static.impl = new VerticalSplitPanel$Impl();
  this$static.container = preventBoxStyles($doc.createElement('div'));
  $buildDOM_0(this$static, ($clinit_183() , verticalSplitPanelThumb_SINGLETON));
  this$static.element['className'] = 'gwt-VerticalSplitPanel';
  $init_1(this$static.impl, this$static);
  $setSplitPosition_2(this$static, '50%');
  return this$static;
}

function $buildDOM_0(this$static, thumb){
  var bottomDiv, splitDiv, topDiv;
  topDiv = this$static.elements[0];
  bottomDiv = this$static.elements[1];
  splitDiv = this$static.splitElem;
  this$static.element.appendChild(this$static.container);
  this$static.container.appendChild(topDiv);
  this$static.container.appendChild(splitDiv);
  this$static.container.appendChild(bottomDiv);
  splitDiv.innerHTML = "<div class='vsplitter' style='text-align:center;'>" + $getHTML(thumb.url, thumb.left, thumb.top, thumb.width_0, thumb.height_0) + '<\/div>' || '';
  topDiv.style['overflow'] = 'auto';
  bottomDiv.style['overflow'] = 'auto';
}

function $setSplitPosition_2(this$static, pos){
  var topElem;
  this$static.lastSplitPosition = pos;
  topElem = this$static.elements[0];
  topElem.style['height'] = pos;
  $setSplitPosition_1(this$static.impl, parseInt(topElem['offsetHeight']) || 0);
}

function getClass_103(){
  return Lcom_google_gwt_user_client_ui_VerticalSplitPanel_2_classLit;
}

function onLoad_1(){
  $setSplitPosition_2(this, this.lastSplitPosition);
  addCommand($VerticalSplitPanel$1(new VerticalSplitPanel$1(), this));
}

function onSplitterResize_0(x, y){
  $setSplitPosition_1(this.impl, this.initialTopHeight + y - this.initialThumbPos);
}

function onSplitterResizeStarted_0(x, y){
  this.initialThumbPos = y;
  this.initialTopHeight = parseInt(this.elements[0]['offsetHeight']) || 0;
}

function onUnload_1(){
}

function setHeight_0(height){
  this.element.style['height'] = height;
}

function VerticalSplitPanel(){
}

_ = VerticalSplitPanel.prototype = new SplitPanel();
_.getClass$ = getClass_103;
_.onLoad = onLoad_1;
_.onSplitterResize = onSplitterResize_0;
_.onSplitterResizeStarted = onSplitterResizeStarted_0;
_.onUnload = onUnload_1;
_.setHeight = setHeight_0;
_.typeId$ = 76;
_.container = null;
_.initialThumbPos = 0;
_.initialTopHeight = 0;
_.lastSplitPosition = null;
function $VerticalSplitPanel$1(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function execute_1(){
  $setSplitPosition_2(this.this$0, this.this$0.lastSplitPosition);
}

function getClass_100(){
  return Lcom_google_gwt_user_client_ui_VerticalSplitPanel$1_2_classLit;
}

function VerticalSplitPanel$1(){
}

_ = VerticalSplitPanel$1.prototype = new Object_0();
_.execute_0 = execute_1;
_.getClass$ = getClass_100;
_.typeId$ = 77;
_.this$0 = null;
function $init_1(this$static, panel){
  var bottomElem, topElem;
  this$static.panel = panel;
  panel.element.style['position'] = 'relative';
  topElem = panel.elements[0];
  bottomElem = panel.elements[1];
  expandToFitParentHorizontally_0(topElem);
  expandToFitParentHorizontally_0(bottomElem);
  expandToFitParentHorizontally_0(panel.splitElem);
  expandToFitParentUsingCssOffsets(panel.container);
  bottomElem.style['bottom'] = '0';
}

function $setSplitPosition_1(this$static, px){
  var newBottomHeight, rootElemHeight, splitElem, splitElemHeight;
  splitElem = this$static.panel.splitElem;
  rootElemHeight = parseInt(this$static.panel.container['offsetHeight']) || 0;
  splitElemHeight = parseInt(splitElem['offsetHeight']) || 0;
  if (rootElemHeight < splitElemHeight) {
    return;
  }
  newBottomHeight = rootElemHeight - px - splitElemHeight;
  if (px < 0) {
    px = 0;
    newBottomHeight = rootElemHeight - splitElemHeight;
  }
   else if (newBottomHeight < 0) {
    px = rootElemHeight - splitElemHeight;
    newBottomHeight = 0;
  }
  $updateElements(this$static.panel.elements[0], splitElem, this$static.panel.elements[1], px, px + splitElemHeight);
}

function $updateElements(topElem, splitElem, bottomElem, topHeight, bottomTop){
  topElem.style['height'] = topHeight + 'px';
  splitElem.style['top'] = topHeight + 'px';
  bottomElem.style['top'] = bottomTop + 'px';
}

function expandToFitParentHorizontally_0(elem){
  elem.style['position'] = 'absolute';
  elem.style['left'] = '0';
  elem.style['right'] = '0';
}

function getClass_101(){
  return Lcom_google_gwt_user_client_ui_VerticalSplitPanel$Impl_2_classLit;
}

function VerticalSplitPanel$Impl(){
}

_ = VerticalSplitPanel$Impl.prototype = new Object_0();
_.getClass$ = getClass_101;
_.typeId$ = 0;
_.panel = null;
function $clinit_183(){
  $clinit_183 = nullMethod;
  IMAGE_BUNDLE_URL_0 = $moduleBase + '4BF90CCB5E6B04D22EF1776E8EBF09F8.cache.png';
  verticalSplitPanelThumb_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_0, 0, 0, 7, 7);
}

function getClass_102(){
  return Lcom_google_gwt_user_client_ui_VerticalSplitPanelImages_1generatedBundle_2_classLit;
}

function VerticalSplitPanelImages_generatedBundle(){
}

_ = VerticalSplitPanelImages_generatedBundle.prototype = new Object_0();
_.getClass$ = getClass_102;
_.typeId$ = 0;
var IMAGE_BUNDLE_URL_0, verticalSplitPanelThumb_SINGLETON;
function $WidgetCollection(this$static){
  this$static.array = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, 0, 20, 4, 0);
  return this$static;
}

function $add_6(this$static, w){
  $insert_3(this$static, w, this$static.size_0);
}

function $get_1(this$static, index){
  if (index < 0 || index >= this$static.size_0) {
    throw new IndexOutOfBoundsException();
  }
  return this$static.array[index];
}

function $indexOf(this$static, w){
  var i;
  for (i = 0; i < this$static.size_0; ++i) {
    if (this$static.array[i] == w) {
      return i;
    }
  }
  return -1;
}

function $insert_3(this$static, w, beforeIndex){
  var i, newArray;
  if (beforeIndex < 0 || beforeIndex > this$static.size_0) {
    throw new IndexOutOfBoundsException();
  }
  if (this$static.size_0 == this$static.array.length) {
    newArray = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, 0, 20, this$static.array.length * 2, 0);
    for (i = 0; i < this$static.array.length; ++i) {
      setCheck(newArray, i, this$static.array[i]);
    }
    this$static.array = newArray;
  }
  ++this$static.size_0;
  for (i = this$static.size_0 - 1; i > beforeIndex; --i) {
    setCheck(this$static.array, i, this$static.array[i - 1]);
  }
  setCheck(this$static.array, beforeIndex, w);
}

function $remove_6(this$static, index){
  var i;
  if (index < 0 || index >= this$static.size_0) {
    throw new IndexOutOfBoundsException();
  }
  --this$static.size_0;
  for (i = index; i < this$static.size_0; ++i) {
    setCheck(this$static.array, i, this$static.array[i + 1]);
  }
  setCheck(this$static.array, this$static.size_0, null);
}

function $remove_7(this$static, w){
  var index;
  index = $indexOf(this$static, w);
  if (index == -1) {
    throw new NoSuchElementException();
  }
  $remove_6(this$static, index);
}

function getClass_105(){
  return Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit;
}

function iterator_4(){
  return $WidgetCollection$WidgetIterator(new WidgetCollection$WidgetIterator(), this);
}

function WidgetCollection(){
}

_ = WidgetCollection.prototype = new Object_0();
_.getClass$ = getClass_105;
_.iterator_0 = iterator_4;
_.typeId$ = 0;
_.array = null;
_.size_0 = 0;
function $WidgetCollection$WidgetIterator(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_104(){
  return Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit;
}

function hasNext_2(){
  return this.index_0 < this.this$0.size_0 - 1;
}

function next_3(){
  if (this.index_0 >= this.this$0.size_0) {
    throw new NoSuchElementException();
  }
  return this.this$0.array[++this.index_0];
}

function WidgetCollection$WidgetIterator(){
}

_ = WidgetCollection$WidgetIterator.prototype = new Object_0();
_.getClass$ = getClass_104;
_.hasNext = hasNext_2;
_.next_1 = next_3;
_.typeId$ = 0;
_.index_0 = -1;
_.this$0 = null;
function $WidgetIterators$1(this$static, val$contained){
  this$static.val$contained = val$contained;
  $gotoNextIndex(this$static);
  return this$static;
}

function $gotoNextIndex(this$static){
  ++this$static.index_0;
  while (this$static.index_0 < this$static.val$contained.length) {
    if (this$static.val$contained[this$static.index_0]) {
      return;
    }
    ++this$static.index_0;
  }
}

function getClass_106(){
  return Lcom_google_gwt_user_client_ui_WidgetIterators$1_2_classLit;
}

function hasNext_3(){
  return this.index_0 < this.val$contained.length;
}

function next_4(){
  var w;
  if (this.index_0 >= this.val$contained.length) {
    throw new NoSuchElementException();
  }
  w = this.val$contained[this.index_0];
  $gotoNextIndex(this);
  return w;
}

function WidgetIterators$1(){
}

_ = WidgetIterators$1.prototype = new Object_0();
_.getClass$ = getClass_106;
_.hasNext = hasNext_3;
_.next_1 = next_4;
_.typeId$ = 0;
_.index_0 = -1;
_.val$contained = null;
function $getHTML(url, left, top, width, height){
  var clippedImgHtml, style;
  style = 'width: ' + width + 'px; height: ' + height + 'px; background: url(' + url + ') no-repeat ' + (-left + 'px ') + (-top + 'px');
  clippedImgHtml = "<img src='" + $moduleBase + "clear.cache.gif' style='" + style + "' border='0'>";
  return clippedImgHtml;
}

function $ClippedImagePrototype(this$static, url, left, top, width, height){
  this$static.url = url;
  this$static.left = left;
  this$static.top = top;
  this$static.width_0 = width;
  this$static.height_0 = height;
  return this$static;
}

function $createImage(this$static){
  return $Image(new Image_0(), this$static.url, this$static.left, this$static.top, this$static.width_0, this$static.height_0);
}

function getClass_108(){
  return Lcom_google_gwt_user_client_ui_impl_ClippedImagePrototype_2_classLit;
}

function ClippedImagePrototype(){
}

_ = ClippedImagePrototype.prototype = new AbstractImagePrototype();
_.getClass$ = getClass_108;
_.typeId$ = 0;
_.height_0 = 0;
_.left = 0;
_.top = 0;
_.url = null;
_.width_0 = 0;
function $clinit_192(){
  $clinit_192 = nullMethod;
  implPanel = $FocusImplOld(new FocusImplOld());
  implWidget = implPanel?($clinit_192() , new FocusImpl()):implPanel;
}

function getClass_110(){
  return Lcom_google_gwt_user_client_ui_impl_FocusImpl_2_classLit;
}

function setTabIndex_3(elem, index){
  elem.tabIndex = index;
}

function FocusImpl(){
}

_ = FocusImpl.prototype = new Object_0();
_.getClass$ = getClass_110;
_.setTabIndex_0 = setTabIndex_3;
_.typeId$ = 0;
var implPanel, implWidget;
function $clinit_191(){
  $clinit_191 = nullMethod;
  $clinit_192();
}

function $FocusImplOld(this$static){
  $clinit_191();
  this$static.blurHandler = $createBlurHandler();
  this$static.focusHandler = $createFocusHandler();
  this$static.mouseHandler = $createMouseHandler();
  return this$static;
}

function $createBlurHandler(){
  return function(evt){
    if (this.parentNode.onblur) {
      this.parentNode.onblur(evt);
    }
  }
  ;
}

function $createFocusHandler(){
  return function(evt){
    if (this.parentNode.onfocus) {
      this.parentNode.onfocus(evt);
    }
  }
  ;
}

function $createFocusable(this$static){
  var div = $doc.createElement('div');
  var input = this$static.createHiddenInput();
  input.addEventListener('blur', this$static.blurHandler, false);
  input.addEventListener('focus', this$static.focusHandler, false);
  div.addEventListener('mousedown', this$static.mouseHandler, false);
  div.appendChild(input);
  return div;
}

function $createMouseHandler(){
  return function(){
    this.firstChild.focus();
  }
  ;
}

function createHiddenInput(){
  var input = $doc.createElement('input');
  input.type = 'text';
  input.style.width = input.style.height = 0;
  input.style.zIndex = -1;
  input.style.position = 'absolute';
  return input;
}

function getClass_109(){
  return Lcom_google_gwt_user_client_ui_impl_FocusImplOld_2_classLit;
}

function setTabIndex_2(elem, index){
  elem.firstChild.tabIndex = index;
}

function FocusImplOld(){
}

_ = FocusImplOld.prototype = new FocusImpl();
_.createHiddenInput = createHiddenInput;
_.getClass$ = getClass_109;
_.setTabIndex_0 = setTabIndex_2;
_.typeId$ = 0;
function getClass_113(){
  return Lcom_google_gwt_user_client_ui_impl_RichTextAreaImpl_2_classLit;
}

function RichTextAreaImpl(){
}

_ = RichTextAreaImpl.prototype = new Object_0();
_.getClass$ = getClass_113;
_.typeId$ = 0;
_.elem = null;
function $execCommand(this$static, cmd, param){
  if (this$static.elem.contentWindow.document.designMode.toUpperCase() == 'ON') {
    $setFocus_0(this$static, true);
    this$static.elem.contentWindow.document.execCommand(cmd, false, param);
  }
}

function $getHTML_0(this$static){
  return !this$static.beforeInitPlaceholder?this$static.elem.contentWindow.document.body.innerHTML:this$static.beforeInitPlaceholder.innerHTML;
}

function $hookEvents(this$static){
  var elem = this$static.elem;
  var wnd = elem.contentWindow;
  elem.__gwt_handler = function(evt){
    if (elem.__listener) {
      elem.__listener.onBrowserEvent(evt);
    }
  }
  ;
  elem.__gwt_focusHandler = function(evt){
    if (elem.__gwt_isFocused) {
      return;
    }
    elem.__gwt_isFocused = true;
    elem.__gwt_handler(evt);
  }
  ;
  elem.__gwt_blurHandler = function(evt){
    if (!elem.__gwt_isFocused) {
      return;
    }
    elem.__gwt_isFocused = false;
    elem.__gwt_handler(evt);
  }
  ;
  wnd.addEventListener('keydown', elem.__gwt_handler, true);
  wnd.addEventListener('keyup', elem.__gwt_handler, true);
  wnd.addEventListener('keypress', elem.__gwt_handler, true);
  wnd.addEventListener('mousedown', elem.__gwt_handler, true);
  wnd.addEventListener('mouseup', elem.__gwt_handler, true);
  wnd.addEventListener('mousemove', elem.__gwt_handler, true);
  wnd.addEventListener('mouseover', elem.__gwt_handler, true);
  wnd.addEventListener('mouseout', elem.__gwt_handler, true);
  wnd.addEventListener('click', elem.__gwt_handler, true);
  wnd.addEventListener('focus', elem.__gwt_focusHandler, true);
  wnd.addEventListener('blur', elem.__gwt_blurHandler, true);
}

function $queryCommandState(this$static, cmd){
  if (this$static.elem.contentWindow.document.designMode.toUpperCase() == 'ON') {
    $setFocus_0(this$static, true);
    return !!this$static.elem.contentWindow.document.queryCommandState(cmd);
  }
   else {
    return false;
  }
}

function $setFocus_0(this$static, focused){
  if (focused) {
    this$static.elem.contentWindow.focus();
  }
   else {
    this$static.elem.contentWindow.blur();
  }
}

function $setHTML_1(this$static, html){
  if (!this$static.beforeInitPlaceholder) {
    this$static.elem.contentWindow.document.body.innerHTML = html;
  }
   else {
    this$static.beforeInitPlaceholder.innerHTML = html || '';
  }
}

function $setHTMLImpl(this$static, html){
  this$static.elem.contentWindow.document.body.innerHTML = html;
}

function $setJustification(this$static, justification){
  if (justification == ($clinit_149() , CENTER)) {
    $execCommand(this$static, 'JustifyCenter', null);
  }
   else if (justification == LEFT) {
    $execCommand(this$static, 'JustifyLeft', null);
  }
   else if (justification == RIGHT) {
    $execCommand(this$static, 'JustifyRight', null);
  }
}

function $setText_4(this$static, text){
  if (!this$static.beforeInitPlaceholder) {
    this$static.elem.contentWindow.document.body.textContent = text;
  }
   else {
    $setInnerText(this$static.beforeInitPlaceholder, text);
  }
}

function $uninitElement(this$static){
  var html, elem, wnd;
  if (this$static.initializing) {
    this$static.initializing = false;
    return;
  }
  elem = this$static.elem;
  wnd = elem.contentWindow;
  wnd.removeEventListener('keydown', elem.__gwt_handler, true);
  wnd.removeEventListener('keyup', elem.__gwt_handler, true);
  wnd.removeEventListener('keypress', elem.__gwt_handler, true);
  wnd.removeEventListener('mousedown', elem.__gwt_handler, true);
  wnd.removeEventListener('mouseup', elem.__gwt_handler, true);
  wnd.removeEventListener('mousemove', elem.__gwt_handler, true);
  wnd.removeEventListener('mouseover', elem.__gwt_handler, true);
  wnd.removeEventListener('mouseout', elem.__gwt_handler, true);
  wnd.removeEventListener('click', elem.__gwt_handler, true);
  wnd.removeEventListener('focus', elem.__gwt_focusHandler, true);
  wnd.removeEventListener('blur', elem.__gwt_blurHandler, true);
  elem.__gwt_handler = null;
  elem.__gwt_focusHandler = null;
  elem.__gwt_blurHandler = null;
  html = !this$static.beforeInitPlaceholder?this$static.elem.contentWindow.document.body.innerHTML:this$static.beforeInitPlaceholder.innerHTML;
  this$static.beforeInitPlaceholder = $doc.createElement('div');
  this$static.beforeInitPlaceholder.innerHTML = html || '';
}

function getClass_112(){
  return Lcom_google_gwt_user_client_ui_impl_RichTextAreaImplStandard_2_classLit;
}

function onElementInitialized(){
  if (!this.initializing) {
    return;
  }
  this.initializing = false;
  $hookEvents(this);
  if (this.beforeInitPlaceholder) {
    $setHTMLImpl(this, this.beforeInitPlaceholder.innerHTML);
    this.beforeInitPlaceholder = null;
  }
}

function RichTextAreaImplStandard(){
}

_ = RichTextAreaImplStandard.prototype = new RichTextAreaImpl();
_.getClass$ = getClass_112;
_.onElementInitialized = onElementInitialized;
_.typeId$ = 0;
_.initializing = false;
function $RichTextAreaImplMozilla(this$static){
  this$static.elem = $doc.createElement('iframe');
  this$static.beforeInitPlaceholder = $doc.createElement('div');
  return this$static;
}

function $initElement(this$static){
  var _this = this$static;
  var iframe = _this.elem;
  _this.initializing = true;
  iframe.onload = function(){
    iframe.onload = null;
    _this.onElementInitialized();
    iframe.contentWindow.onfocus = function(){
      iframe.contentWindow.onfocus = null;
      iframe.contentWindow.document.designMode = 'On';
    }
    ;
  }
  ;
}

function getClass_111(){
  return Lcom_google_gwt_user_client_ui_impl_RichTextAreaImplMozilla_2_classLit;
}

function RichTextAreaImplMozilla(){
}

_ = RichTextAreaImplMozilla.prototype = new RichTextAreaImplStandard();
_.getClass$ = getClass_111;
_.typeId$ = 0;
function getClass_114(){
  return Lcom_web_1bloks_content_client_ConditionChecker_2_classLit;
}

function ConditionChecker(){
}

_ = ConditionChecker.prototype = new Object_0();
_.getClass$ = getClass_114;
_.typeId$ = 0;
function equals_8(other){
  return (this == null?null:this) === (other == null?null:other);
}

function getClass_189(){
  return Ljava_lang_Enum_2_classLit;
}

function hashCode_7(){
  return this.$H || (this.$H = ++sNextHashId);
}

function toString_19(){
  return this.name_0;
}

function Enum(){
}

_ = Enum.prototype = new Object_0();
_.equals$ = equals_8;
_.getClass$ = getClass_189;
_.hashCode$ = hashCode_7;
_.toString$ = toString_19;
_.typeId$ = 78;
_.name_0 = null;
_.ordinal = 0;
function $clinit_198(){
  $clinit_198 = nullMethod;
  OK = $ConditionCode(new ConditionCode(), 'OK', 0);
  $ConditionCode(new ConditionCode(), 'INVALID', 1);
  $ConditionCode(new ConditionCode(), 'NOT_FOUND', 2);
  $ConditionCode(new ConditionCode(), 'LOGIN_REQUIRED', 3);
  $ConditionCode(new ConditionCode(), 'ADMIN_REQUIRED', 4);
}

function $ConditionCode(this$static, enum$name, enum$ordinal){
  $clinit_198();
  this$static.name_0 = enum$name;
  this$static.ordinal = enum$ordinal;
  return this$static;
}

function getClass_115(){
  return Lcom_web_1bloks_content_client_ConditionCode_2_classLit;
}

function ConditionCode(){
}

_ = ConditionCode.prototype = new Enum();
_.getClass$ = getClass_115;
_.typeId$ = 79;
var OK;
function $doFinalInit(this$static){
  if (!this$static.cc || !this$static.vm)
    throw $RuntimeException(new RuntimeException(), Lcom_web_1bloks_project_client_AppFlowManager_2_classLit + '.doFinalInit: CONFIGURATION error');
}

function $getPage(this$static, page){
  if (null == page)
    throw $RuntimeException(new RuntimeException(), Lcom_web_1bloks_project_client_AppFlowManager_2_classLit + ".getPage: page can't be null");
  logDebug(Lcom_web_1bloks_project_client_AppFlowManager_2_classLit + '.getPage: page=' + page);
  return $process(this$static, page);
}

function $mapResponseCodeFromViewManager(vrc){
  var code;
  code = ($clinit_199() , NORMAL);
  switch (vrc.ordinal) {
    case 0:
      code = NORMAL;
      break;
    case 1:
      code = WILD;
      break;
    case 2:
      code = DEFAULT;
      break;
    case 3:
      code = NOT_FOUND;
  }
  return code;
}

function $process(this$static, page){
  var rep, title, vmr;
  rep = new FlowManager$Response();
  title = newFromText(page);
  vmr = $findMatch_0(this$static.vm, title);
  if (!vmr)
    throw $RuntimeException(new RuntimeException(), Lcom_web_1bloks_project_client_AppFlowManager_2_classLit + '.process: ViewManager[' + Lcom_web_1bloks_project_client_AppViewManager_2_classLit + "] is missing a 'wild' default");
  if (vmr.rc == ($clinit_207() , NOT_FOUND_0)) {
    rep.cc = ($clinit_199() , NOT_FOUND);
    return rep;
  }
  $findMatch(this$static.tacl, title);
  logDebug(Lcom_web_1bloks_project_client_AppConditionChecker_2_classLit + '.verify');
  $clinit_198();
  rep.cc = $mapResponseCodeFromViewManager(vmr.rc);
  rep.vp = vmr.vp;
  return rep;
}

function getClass_118(){
  return Lcom_web_1bloks_content_client_FlowManager_2_classLit;
}

function FlowManager(){
}

_ = FlowManager.prototype = new Object_0();
_.getClass$ = getClass_118;
_.typeId$ = 0;
_.cc = null;
_.tacl = null;
_.vm = null;
function getClass_117(){
  return Lcom_web_1bloks_content_client_FlowManager$Response_2_classLit;
}

function FlowManager$Response(){
}

_ = FlowManager$Response.prototype = new Object_0();
_.getClass$ = getClass_117;
_.typeId$ = 0;
_.cc = null;
_.vp = null;
function $clinit_199(){
  $clinit_199 = nullMethod;
  NORMAL = $FlowManager$ResponseCode(new FlowManager$ResponseCode(), 'NORMAL', 0);
  WILD = $FlowManager$ResponseCode(new FlowManager$ResponseCode(), 'WILD', 1);
  DEFAULT = $FlowManager$ResponseCode(new FlowManager$ResponseCode(), 'DEFAULT', 2);
  NOT_FOUND = $FlowManager$ResponseCode(new FlowManager$ResponseCode(), 'NOT_FOUND', 3);
}

function $FlowManager$ResponseCode(this$static, enum$name, enum$ordinal){
  $clinit_199();
  this$static.name_0 = enum$name;
  this$static.ordinal = enum$ordinal;
  return this$static;
}

function getClass_116(){
  return Lcom_web_1bloks_content_client_FlowManager$ResponseCode_2_classLit;
}

function FlowManager$ResponseCode(){
}

_ = FlowManager$ResponseCode.prototype = new Enum();
_.getClass$ = getClass_116;
_.typeId$ = 80;
var DEFAULT, NORMAL, NOT_FOUND, WILD;
function $navigateTo(this$static, title){
  if (!title)
    throw $RuntimeException(new RuntimeException(), Lcom_web_1bloks_project_client_AppPortalManager_2_classLit + ".navigateTo: title can't NULL");
  logDebug(Lcom_web_1bloks_project_client_AppPortalManager_2_classLit + '.navigateTo: BEGIN page[' + title.name_0 + ']');
  return $navigateTo_1(this$static, $toString_2(title), null);
}

function $navigateTo_0(this$static, uf){
  if (!uf)
    throw $RuntimeException(new RuntimeException(), this$static.getClass$() + ".navigateTo: uf can't NULL");
  logDebug(this$static.getClass$() + '.navigateTo: BEGIN page[' + uf.page + '] query[' + uf.query + ']');
  return $navigateTo_1(this$static, uf.page, uf.query);
}

function $navigateTo_1(this$static, requestedPage, query){
  var $e0, e, fr, ne, pageName, rep, targetView, te, params, template;
  if (null == requestedPage)
    throw $RuntimeException(new RuntimeException(), this$static.getClass$() + ".navigateTo: page can't NULL");
  logDebug(this$static.getClass$() + '.navigateTo: BEGIN requestedPage[' + requestedPage + '] query[' + query + ']');
  fr = null;
  e = null;
  try {
    fr = $getPage(this$static.flowManager, requestedPage);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 28)) {
      te = $e0;
      e = te;
    }
     else if (instanceOf($e0, 29)) {
      ne = $e0;
      e = ne;
    }
     else 
      throw $e0;
  }
  if (e) {
    return logDebug(this$static.getClass$() + '.handleException') , logDebug(Lcom_web_1bloks_project_client_AppUserMessageManager_2_classLit + '.sendMessage: msg=' + 'Invalid page') , template = this$static.getClass$() + '.handleException: requestedPage[$page] msg[$msg]' , params = $HashMap(new HashMap()) , dynamicCast('$page' == null?$putNullSlot(params, requestedPage):'$page' != null?$putStringValue(params, '$page', requestedPage):$putHashValue(params, '$page', requestedPage, ~~getHashCode_0('$page')), 1) , dynamicCast($put_1(params, '$msg', e.detailMessage), 1) , logInfo(substitute(template, params)) , addCommand($PortalManager$NavigateCommand(new PortalManager$NavigateCommand(), this$static, null)) , invalidPageResponse;
  }
  logDebug(this$static.getClass$() + '.navigateTo: cc=' + fr.cc + ', view=' + fr.vp.getViewName());
  targetView = fr.vp.getViewName();
  fr.vp.setRequestedPageParams(requestedPage, query);
  pageName = fr.vp.getPageName();
  rep = null;
  if ($isCurrentView(this$static.basePage, targetView)) {
    logDebug(this$static.getClass$() + '.navigateTo: SAME PAGE');
    rep = samePageResponse;
  }
   else {
    fr.vp.setStatusMessageServer(this$static.basePage.statusIcon);
    fr.vp.setUserMessageServer(this$static.basePage.userMessageWidget);
    $setBody(this$static.basePage, fr.vp);
  }
  fr.vp.doView();
  $doc.title = 'Web-Bloks-' + pageName;
  if (!rep) {
    rep = ($clinit_203() , new PortalManager$Response());
    fr.vp.getPageName();
    fr.vp.getViewName();
  }
  updateAnchors();
  return rep;
}

function $setup(){
  var r;
  if (!invalidPageResponse) {
    r = ($clinit_203() , new PortalManager$Response());
    invalidPageResponse = r;
  }
  if (!samePageResponse) {
    r = ($clinit_203() , new PortalManager$Response());
    samePageResponse = r;
  }
}

function getClass_122(){
  return Lcom_web_1bloks_content_client_PortalManager_2_classLit;
}

function onHistoryChanged(historyToken){
  logDebug(this.getClass$() + '.onHistoryChanged');
  addCommand($PortalManager$NavigateCommand_0(new PortalManager$NavigateCommand(), this, historyToken));
}

function PortalManager(){
}

_ = PortalManager.prototype = new Object_0();
_.getClass$ = getClass_122;
_.onHistoryChanged = onHistoryChanged;
_.typeId$ = 81;
_.basePage = null;
_.flowManager = null;
var invalidPageResponse = null, samePageResponse = null;
function $PortalManager$NavigateCommand_0(this$static, pm, historyToken){
  this$static.pm = pm;
  this$static.target_0 = extractFieldsFromHistoryToken(historyToken);
  return this$static;
}

function $PortalManager$NavigateCommand(this$static, pm, target){
  this$static.pm = pm;
  this$static.target_0 = target;
  return this$static;
}

function execute_2(){
  $navigateTo_0(this.pm, this.target_0);
}

function getClass_119(){
  return Lcom_web_1bloks_content_client_PortalManager$NavigateCommand_2_classLit;
}

function PortalManager$NavigateCommand(){
}

_ = PortalManager$NavigateCommand.prototype = new Object_0();
_.execute_0 = execute_2;
_.getClass$ = getClass_119;
_.typeId$ = 82;
_.pm = null;
_.target_0 = null;
function getClass_121(){
  return Lcom_web_1bloks_content_client_PortalManager$Response_2_classLit;
}

function PortalManager$Response(){
}

_ = PortalManager$Response.prototype = new Object_0();
_.getClass$ = getClass_121;
_.typeId$ = 0;
function $clinit_203(){
  $clinit_203 = nullMethod;
  $PortalManager$ResponseCode(new PortalManager$ResponseCode(), 'NA', 0);
  $PortalManager$ResponseCode(new PortalManager$ResponseCode(), 'OK', 1);
  $PortalManager$ResponseCode(new PortalManager$ResponseCode(), 'INVALID_PAGE', 2);
  $PortalManager$ResponseCode(new PortalManager$ResponseCode(), 'SAME_PAGE', 3);
}

function $PortalManager$ResponseCode(this$static, enum$name, enum$ordinal){
  $clinit_203();
  this$static.name_0 = enum$name;
  this$static.ordinal = enum$ordinal;
  return this$static;
}

function getClass_120(){
  return Lcom_web_1bloks_content_client_PortalManager$ResponseCode_2_classLit;
}

function PortalManager$ResponseCode(){
}

_ = PortalManager$ResponseCode.prototype = new Enum();
_.getClass$ = getClass_120;
_.typeId$ = 83;
function $TitleAccessList(this$static){
  this$static.map = $HashMap(new HashMap());
  if (!WILDTITLE)
    WILDTITLE = newWild();
  return this$static;
}

function $findMatch(this$static, title){
  var ns, wt;
  if (!title)
    throw $RuntimeException(new RuntimeException(), Lcom_web_1bloks_project_client_AppTitleAccessList_2_classLit + ".findMatch: title can't be null");
  if ($containsKey_1(this$static.map, title)) {
    logInfo(Lcom_web_1bloks_project_client_AppTitleAccessList_2_classLit + '.findMatch: NORMAL');
    return throwClassCastExceptionUnlessNull($get_3(this$static.map, title));
  }
  ns = title.namespace;
  wt = newWild_0(ns);
  if ($containsKey_1(this$static.map, wt)) {
    return throwClassCastExceptionUnlessNull($get_3(this$static.map, wt));
  }
  if ($containsKey_1(this$static.map, WILDTITLE)) {
    logInfo(Lcom_web_1bloks_project_client_AppTitleAccessList_2_classLit + '.findMatch: DEFAULT');
    return throwClassCastExceptionUnlessNull($get_3(this$static.map, WILDTITLE));
  }
  logInfo(Lcom_web_1bloks_project_client_AppTitleAccessList_2_classLit + '.findMatch: NOT FOUND');
  return null;
}

function getClass_123(){
  return Lcom_web_1bloks_content_client_TitleAccessList_2_classLit;
}

function TitleAccessList(){
}

_ = TitleAccessList.prototype = new Object_0();
_.getClass$ = getClass_123;
_.typeId$ = 0;
_.map = null;
var WILDTITLE = null;
function $addMapping(this$static, title, vPage){
  dynamicCast($put_1(this$static.map, $toString_2(title), vPage), 30);
}

function $findMatch_0(this$static, title){
  var ns, rep, wt;
  if (!title)
    throw $RuntimeException(new RuntimeException(), Lcom_web_1bloks_project_client_AppViewManager_2_classLit + ".findMatch: title can't be null");
  rep = new ViewManager$Response();
  rep.rc = ($clinit_207() , NOT_FOUND_0);
  if ($containsKey_1(this$static.map, $toString_2(title))) {
    logInfo(Lcom_web_1bloks_project_client_AppViewManager_2_classLit + '.findMatch: NORMAL');
    rep.rc = NORMAL_0;
    rep.vp = dynamicCast($get_3(this$static.map, $toString_2(title)), 30);
    return rep;
  }
  ns = title.namespace;
  wt = newWild_0(ns);
  if ($containsKey_1(this$static.map, $toString_2(wt))) {
    logInfo(Lcom_web_1bloks_project_client_AppViewManager_2_classLit + '.findMatch: WILD');
    rep.rc = WILD_0;
    rep.vp = dynamicCast($get_3(this$static.map, wt), 30);
    return rep;
  }
  if ($containsKey_1(this$static.map, $toString_2(WILDTITLE_0))) {
    logInfo(Lcom_web_1bloks_project_client_AppViewManager_2_classLit + '.findMatch: DEFAULT');
    rep.rc = DEFAULT_0;
    rep.vp = dynamicCast($get_3(this$static.map, $toString_2(WILDTITLE_0)), 30);
  }
   else {
    logInfo(Lcom_web_1bloks_project_client_AppViewManager_2_classLit + '.findMatch: NOT FOUND');
  }
  return rep;
}

function getClass_126(){
  return Lcom_web_1bloks_content_client_ViewManager_2_classLit;
}

function ViewManager(){
}

_ = ViewManager.prototype = new Object_0();
_.getClass$ = getClass_126;
_.typeId$ = 0;
_.map = null;
var WILDTITLE_0 = null;
function getClass_125(){
  return Lcom_web_1bloks_content_client_ViewManager$Response_2_classLit;
}

function ViewManager$Response(){
}

_ = ViewManager$Response.prototype = new Object_0();
_.getClass$ = getClass_125;
_.typeId$ = 0;
_.rc = null;
_.vp = null;
function $clinit_207(){
  $clinit_207 = nullMethod;
  NORMAL_0 = $ViewManager$ResponseCode(new ViewManager$ResponseCode(), 'NORMAL', 0);
  WILD_0 = $ViewManager$ResponseCode(new ViewManager$ResponseCode(), 'WILD', 1);
  DEFAULT_0 = $ViewManager$ResponseCode(new ViewManager$ResponseCode(), 'DEFAULT', 2);
  NOT_FOUND_0 = $ViewManager$ResponseCode(new ViewManager$ResponseCode(), 'NOT_FOUND', 3);
}

function $ViewManager$ResponseCode(this$static, enum$name, enum$ordinal){
  $clinit_207();
  this$static.name_0 = enum$name;
  this$static.ordinal = enum$ordinal;
  return this$static;
}

function getClass_124(){
  return Lcom_web_1bloks_content_client_ViewManager$ResponseCode_2_classLit;
}

function ViewManager$ResponseCode(){
}

_ = ViewManager$ResponseCode.prototype = new Enum();
_.getClass$ = getClass_124;
_.typeId$ = 84;
var DEFAULT_0, NORMAL_0, NOT_FOUND_0, WILD_0;
function $DocumentLoader(this$static){
  this$static.caller = $HttpCall(new HttpCall());
  this$static.listeners = $Vector(new Vector());
  this$static.caller.callback = this$static;
  return this$static;
}

function $_load(this$static, name, timeout){
  logInfo(Lcom_web_1bloks_document_client_DocumentLoader_2_classLit + '._load: start');
  if ($isPending_0(this$static.caller)) {
    logWarn(Lcom_web_1bloks_document_client_DocumentLoader_2_classLit + '._load: call is progress');
    return;
  }
  this$static.current_name = name;
  this$static.caller.timeout = timeout;
  $execute_1(this$static.caller, this$static.api + name + '/', null);
}

function $load_0(this$static, name, timeout){
  $setHeader_0(this$static.caller, 'If-Modified-Since', null);
  $_load(this$static, name, timeout);
}

function $load(this$static, name){
  $setHeader_0(this$static.caller, 'If-Modified-Since', null);
  $_load(this$static, name, 5000);
}

function $notifyListeners(this$static, doc, code){
  var it, o;
  it = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this$static.listeners.arrayList);
  while (it.i < it.this$0.size_1()) {
    o = dynamicCast($next_1(it), 31);
    o.onDocumentLoaderResponse(doc, code);
  }
}

function getClass_128(){
  return Lcom_web_1bloks_document_client_DocumentLoader_2_classLit;
}

function onError(request, exception){
  logInfo(Lcom_web_1bloks_document_client_DocumentLoader_2_classLit + '.onError');
  $notifyListeners(this, null, $DocumentLoaderResponse(new DocumentLoaderResponse(), 3));
}

function onResponseReceived(request, response){
  var $e0, doc, headers, i, name, responseAvailable, responseStatusCode, title, value;
  responseAvailable = !!response;
  responseStatusCode = response.val$xmlHttpRequest.status;
  logInfo(Lcom_web_1bloks_document_client_DocumentLoader_2_classLit + '.onResponseReceived, response available:' + responseAvailable + ', status code: ' + responseStatusCode);
  doc = null;
  title = null;
  try {
    title = newFromText(this.current_name);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 28)) {
      title = null;
    }
     else if (instanceOf($e0, 29)) {
      title = null;
    }
     else 
      throw $e0;
  }
   finally {
    if (!title) {
      logWarn(Lcom_web_1bloks_document_client_DocumentLoader_2_classLit + '.onResponseReceived: error creating doc object');
    }
  }
  doc = $DocumentObject(new DocumentObject(), title);
  if (responseAvailable && responseStatusCode == 200) {
    if (title)
      doc.state = 0;
    headers = getHeaders(response.val$xmlHttpRequest);
    name = null;
    value = null;
    if (null != headers) {
      for (i = 0; i < headers.length; ++i) {
        if (headers[i]) {
          name = dynamicCast(headers[i], 32).val$name;
          value = dynamicCast(headers[i], 32).val$value;
          $put(doc.meta.obj, name, $JSONString(new JSONString(), value));
        }
      }
    }
    doc.content = response.val$xmlHttpRequest.responseText;
    $notifyListeners(this, doc, $DocumentLoaderResponse(new DocumentLoaderResponse(), 0));
  }
   else {
    doc.state = 1;
    $notifyListeners(this, doc, $DocumentLoaderResponse_0(new DocumentLoaderResponse(), 3));
  }
}

function DocumentLoader(){
}

_ = DocumentLoader.prototype = new Object_0();
_.getClass$ = getClass_128;
_.onError = onError;
_.onResponseReceived = onResponseReceived;
_.typeId$ = 0;
_.api = '/page/';
_.current_name = null;
function $DocumentLoaderResponse(this$static, code){
  this$static.code = code;
  return this$static;
}

function $DocumentLoaderResponse_0(this$static, code){
  this$static.code = code;
  return this$static;
}

function getClass_127(){
  return Lcom_web_1bloks_document_client_DocumentLoaderResponse_2_classLit;
}

function DocumentLoaderResponse(){
}

_ = DocumentLoaderResponse.prototype = new Object_0();
_.getClass$ = getClass_127;
_.typeId$ = 0;
_.code = -1;
function $DocumentManager(this$static){
  this$static.documentLoader = $DocumentLoader(new DocumentLoader());
  this$static.documentListeners = $Vector(new Vector());
  $add_8(this$static.documentLoader.listeners.arrayList, this$static);
  return this$static;
}

function $load_1(this$static, name){
  var $e0, e;
  $notifyListeners_documentChanging(this$static.documentListeners);
  try {
    $load_0(this$static.documentLoader, name, 86400000);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 33)) {
      e = $e0;
      logError(Lcom_web_1bloks_document_client_DocumentManager_2_classLit + '.load: exception raised whilst GETting using documentLoader. Msg: ' + e.detailMessage);
    }
     else 
      throw $e0;
  }
  return;
}

function $notifyListeners_documentChanged(listeners, doc){
  var announce_rendering, it, o, rendered;
  logInfo(Lcom_web_1bloks_document_client_DocumentManager_2_classLit + '.notifyListeners: begin');
  it = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), listeners.arrayList);
  rendered = false;
  announce_rendering = false;
  while (it.i < it.this$0.size_1()) {
    o = dynamicCast($next_1(it), 34);
    rendered = $onDocumentChanged(o, doc);
    if (rendered)
      announce_rendering = true;
  }
  if (announce_rendering)
    $notifyListeners_documentRendered(listeners);
}

function $notifyListeners_documentChanging(listeners){
  var it;
  logInfo(Lcom_web_1bloks_document_client_DocumentManager_2_classLit + '.notifyListeners_documentChanging: begin');
  it = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), listeners.arrayList);
  while (it.i < it.this$0.size_1()) {
    dynamicCast($next_1(it), 34);
  }
}

function $notifyListeners_documentRendered(listeners){
  var it;
  logInfo(Lcom_web_1bloks_document_client_DocumentManager_2_classLit + '.notifyListeners_documentRendered: begin');
  it = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), listeners.arrayList);
  while (it.i < it.this$0.size_1()) {
    dynamicCast($next_1(it), 34);
  }
}

function getClass_129(){
  return Lcom_web_1bloks_document_client_DocumentManager_2_classLit;
}

function onDocumentLoaderResponse(doc, code){
  if (code.code == 0) {
    if ($getKey(doc.meta, 'Cache-Control').indexOf('no-cache') == -1) {
    }
     else {
      logInfo(Lcom_web_1bloks_document_client_DocumentManager_2_classLit + '.onDocumentLoaderResponse: no-cache received');
    }
  }
   else {
    logError(Lcom_web_1bloks_document_client_DocumentManager_2_classLit + '.onDocumentLoaderResponse: error encountered');
  }
  $notifyListeners_documentChanged(this.documentListeners, doc);
}

function DocumentManager(){
}

_ = DocumentManager.prototype = new Object_0();
_.getClass$ = getClass_129;
_.onDocumentLoaderResponse = onDocumentLoaderResponse;
_.typeId$ = 85;
function $DocumentObject(this$static, title){
  this$static.meta = $SimpleMap(new SimpleMap());
  this$static.title_0 = title;
  return this$static;
}

function getClass_130(){
  return Lcom_web_1bloks_document_client_DocumentObject_2_classLit;
}

function DocumentObject(){
}

_ = DocumentObject.prototype = new Object_0();
_.getClass$ = getClass_130;
_.typeId$ = 0;
_.content = null;
_.state = 1;
_.title_0 = null;
function $Namespace(this$static){
  this$static.cName = ($clinit_219() , NORMAL_1);
  return this$static;
}

function build(domainid, name){
  var nsi;
  nsi = $Namespace(new Namespace());
  nsi.domainid = domainid;
  nsi.name_0 = name;
  if (isWildComponent(name))
    nsi.cName = ($clinit_219() , WILD_1);
  return nsi;
}

function create_0(name){
  var id;
  if (null == name)
    throw $RuntimeException(new RuntimeException(), "com.web_bloks.document.client.Namespace.create: name can't be null");
  id = $lookup(name);
  if (null == id)
    throw $NamespaceException(new NamespaceException(), 'com.web_bloks.document.client.Namespace.create: domain not found');
  return build(id, name);
}

function createRaw(ns){
  var domainid, name;
  if (!ns)
    throw $RuntimeException(new RuntimeException(), "com.web_bloks.document.client.Namespace.createRaw: ns can't be null");
  domainid = $lookup(ns.name_0);
  if (null == domainid) {
    throw $NamespaceException(new NamespaceException(), "com.web_bloks.document.client.Namespace.createRaw: can't find domain");
  }
  name = $getRawFromDomainId(domainid);
  return build(domainid, name);
}

function equals_4(n){
  var nc;
  if (!(n != null && canCast(n.typeId$, 35)))
    throw $RuntimeException(new RuntimeException(), Lcom_web_1bloks_document_client_Namespace_2_classLit + '.equals: unsupported comparison');
  nc = dynamicCast(n, 35);
  if (nc.cName != this.cName)
    return false;
  if (nc.domainid != this.domainid)
    return false;
  if (nc.name_0 != this.name_0)
    return false;
  return true;
}

function getClass_133(){
  return Lcom_web_1bloks_document_client_Namespace_2_classLit;
}

function isWildComponent(c){
  if (null == c)
    return false;
  return '*' == c;
}

function toString_13(){
  return this.name_0;
}

function Namespace(){
}

_ = Namespace.prototype = new Object_0();
_.equals$ = equals_4;
_.getClass$ = getClass_133;
_.toString$ = toString_13;
_.typeId$ = 86;
_.domainid = null;
_.name_0 = null;
function $clinit_219(){
  $clinit_219 = nullMethod;
  WILD_1 = $Namespace$Code(new Namespace$Code(), 'WILD', 0);
  NORMAL_1 = $Namespace$Code(new Namespace$Code(), 'NORMAL', 1);
}

function $Namespace$Code(this$static, enum$name, enum$ordinal){
  $clinit_219();
  this$static.name_0 = enum$name;
  this$static.ordinal = enum$ordinal;
  return this$static;
}

function getClass_131(){
  return Lcom_web_1bloks_document_client_Namespace$Code_2_classLit;
}

function Namespace$Code(){
}

_ = Namespace$Code.prototype = new Enum();
_.getClass$ = getClass_131;
_.typeId$ = 87;
var NORMAL_1, WILD_1;
function $NamespaceException(this$static, msg){
  this$static.detailMessage = msg;
  return this$static;
}

function getClass_132(){
  return Lcom_web_1bloks_document_client_NamespaceException_2_classLit;
}

function NamespaceException(){
}

_ = NamespaceException.prototype = new Exception();
_.getClass$ = getClass_132;
_.typeId$ = 88;
function $Namespaces(this$static){
  if (!base || !raw) {
    base = $SimpleMap(new SimpleMap());
    raw = $SimpleMap(new SimpleMap());
    $put(base.obj, 'main', $JSONString(new JSONString(), ''));
    $put(raw.obj, 'main', $JSONString(new JSONString(), 'raw'));
    $put(base.obj, 'user', $JSONString(new JSONString(), 'tpl'));
    $put(raw.obj, 'user', $JSONString(new JSONString(), 'rawtpl'));
  }
  return this$static;
}

function $getRawFromDomainId(id){
  if (null == id)
    return null;
  return $getKey(raw, id);
}

function $lookup(name){
  var id;
  if (null == name)
    return null;
  id = null;
  if ((id = $lookupInBase(name)) != null)
    return id;
  if ((id = $lookupInRaw(name)) != null)
    return id;
  return null;
}

function $lookupInBase(name){
  var pair;
  $reset(base);
  while ($hasNext_0(base.iterator.val$outerIter.iter)) {
    pair = $nextStringPair(base);
    if (compareTo(pair[1].toLowerCase(), name) == 0) {
      return pair[0];
    }
  }
  return null;
}

function $lookupInRaw(name){
  var pair;
  $reset(raw);
  while ($hasNext_0(raw.iterator.val$outerIter.iter)) {
    pair = $nextStringPair(raw);
    if (compareTo(pair[1].toLowerCase(), name) == 0) {
      return pair[0];
    }
  }
  return null;
}

function getClass_134(){
  return Lcom_web_1bloks_document_client_Namespaces_2_classLit;
}

function Namespaces(){
}

_ = Namespaces.prototype = new Object_0();
_.getClass$ = getClass_134;
_.typeId$ = 0;
var base = null, raw = null;
function $Title(this$static){
  this$static.cName = ($clinit_224() , NORMAL_2);
  return this$static;
}

function $toString_2(this$static){
  if (!this$static.namespace)
    return this$static.name_0;
  if (this$static.namespace.name_0 == null)
    return this$static.name_0;
  if (this$static.namespace.name_0.length == 0)
    return this$static.name_0;
  return this$static.namespace + ':' + this$static.name_0;
}

function build_0(ns, name){
  var t;
  t = $Title(new Title());
  t.namespace = ns;
  t.name_0 = name;
  if (isWildComponent_0(name))
    t.cName = ($clinit_224() , WILD_2);
  return t;
}

function equals_5(t){
  var tc;
  tc = dynamicCast(t, 36);
  if (!(t != null && canCast(t.typeId$, 36)))
    throw $RuntimeException(new RuntimeException(), Lcom_web_1bloks_document_client_Title_2_classLit + '.equals: unsupported comparison');
  if (tc.cName != this.cName)
    return false;
  if (tc.name_0 != this.name_0)
    return false;
  if (tc.namespace != this.namespace)
    return false;
  return true;
}

function getClass_137(){
  return Lcom_web_1bloks_document_client_Title_2_classLit;
}

function isWildComponent_0(str){
  if (null == str)
    throw $RuntimeException(new RuntimeException(), "com.web_bloks.document.client.Title.isWild: input can't be null");
  return str == '*';
}

function newFromText(text){
  var n, name, ns, parts;
  if (null == text)
    throw $RuntimeException(new RuntimeException(), "com.web_bloks.document.client.Title.newFromText: text can't be null");
  parts = $split(text, ':', 0);
  ns = null;
  name = null;
  switch (parts.length) {
    case 1:
      ns = '';
      name = parts[0];
      break;
    case 2:
      ns = parts[0];
      name = parts[1];
      break;
    case 0:
    default:throw $TitleException(new TitleException(), "com.web_bloks.document.client.Title.newFromText: error building title from 'text' ");
  }
  n = create_0(ns);
  return build_0(n, name);
}

function newWild(){
  var ns;
  ns = build('*', '*');
  return build_0(ns, '*');
}

function newWild_0(ns){
  if (!ns)
    throw $RuntimeException(new RuntimeException(), "com.web_bloks.document.client.Title.newWild: ns can't be null");
  return build_0(ns, '*');
}

function safeNewFromText(text){
  var $e0;
  try {
    return newFromText(text);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 28)) {
      throw $RuntimeException(new RuntimeException(), 'safeNewFromText EXCEPTION, text=' + text);
    }
     else if (instanceOf($e0, 29)) {
      throw $RuntimeException(new RuntimeException(), 'safeNewFromText EXCEPTION, text=' + text);
    }
     else 
      throw $e0;
  }
}

function toString_14(){
  return $toString_2(this);
}

function Title(){
}

_ = Title.prototype = new Object_0();
_.equals$ = equals_5;
_.getClass$ = getClass_137;
_.toString$ = toString_14;
_.typeId$ = 89;
_.name_0 = null;
_.namespace = null;
function $clinit_224(){
  $clinit_224 = nullMethod;
  WILD_2 = $Title$Code(new Title$Code(), 'WILD', 0);
  NORMAL_2 = $Title$Code(new Title$Code(), 'NORMAL', 1);
}

function $Title$Code(this$static, enum$name, enum$ordinal){
  $clinit_224();
  this$static.name_0 = enum$name;
  this$static.ordinal = enum$ordinal;
  return this$static;
}

function getClass_135(){
  return Lcom_web_1bloks_document_client_Title$Code_2_classLit;
}

function Title$Code(){
}

_ = Title$Code.prototype = new Enum();
_.getClass$ = getClass_135;
_.typeId$ = 90;
var NORMAL_2, WILD_2;
function $TitleException(this$static, msg){
  this$static.detailMessage = msg;
  return this$static;
}

function getClass_136(){
  return Lcom_web_1bloks_document_client_TitleException_2_classLit;
}

function TitleException(){
}

_ = TitleException.prototype = new Exception();
_.getClass$ = getClass_136;
_.typeId$ = 91;
function $HttpCall(this$static){
  this$static.method = ($clinit_36() , GET);
  return this$static;
}

function $HttpCall_0(this$static, m){
  this$static.method = m;
  return this$static;
}

function $execute_1(this$static, url, data){
  var entries, iter, name, rb, value, outerIter, entry;
  if (url == null || url.length == 0)
    throw $RequestException(new RequestException(), this$static.getClass$() + ".execute: url can't be null/empty");
  rb = $RequestBuilder(new RequestBuilder(), this$static.method, url);
  name = null;
  value = null;
  if (this$static.headers) {
    entries = $keySet_0(this$static.headers);
    iter = (outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), entries.val$entrySet.this$0) , $AbstractMap$1$1(new AbstractMap$1$1(), outerIter));
    while ($hasNext_0(iter.val$outerIter.iter)) {
      name = dynamicCast((entry = dynamicCast($next_1(iter.val$outerIter.iter), 4) , entry.getKey()), 1);
      value = dynamicCast($get_3(this$static.headers, name), 1);
      if (value != null && value.length != 0)
        $setHeader(rb, name, value);
    }
  }
  if (this$static.timeout == 0)
    $setTimeoutMillis(rb, 5000);
  else 
    $setTimeoutMillis(rb, this$static.timeout);
  this$static.request = (throwIfNull('callback', this$static) , $doSend(rb, data, this$static));
}

function $isPending_0(this$static){
  if (this$static.request)
    return $isPending(this$static.request);
  return false;
}

function $setHeader_0(this$static, name, value){
  if (!this$static.headers)
    this$static.headers = $HashMap(new HashMap());
  dynamicCast($put_1(this$static.headers, name, value), 1);
}

function getClass_139(){
  return Lcom_web_1bloks_http_client_HttpCall_2_classLit;
}

function onError_0(request, exception){
  logInfo(this.getClass$() + '.onError');
  if (this.callback)
    this.callback.onError(request, exception);
  this.request = null;
}

function onResponseReceived_0(request, response){
  var code;
  code = response.val$xmlHttpRequest.status;
  logInfo(this.getClass$() + '.onResponseReceived, code=' + code);
  if (this.callback) {
    if (code == 200)
      this.callback.onResponseReceived(request, response);
    else 
      this.callback.onError(request, null);
  }
  this.request = null;
}

function HttpCall(){
}

_ = HttpCall.prototype = new Object_0();
_.getClass$ = getClass_139;
_.onError = onError_0;
_.onResponseReceived = onResponseReceived_0;
_.typeId$ = 0;
_.callback = null;
_.headers = null;
_.method = null;
_.request = null;
_.timeout = 0;
function $HtmlPostCall(this$static){
  $HttpCall_0(this$static, ($clinit_36() , POST));
  $setHeader_0(this$static, 'Content-Type', 'text/html');
  return this$static;
}

function getClass_138(){
  return Lcom_web_1bloks_http_client_HtmlPostCall_2_classLit;
}

function HtmlPostCall(){
}

_ = HtmlPostCall.prototype = new HttpCall();
_.getClass$ = getClass_138;
_.typeId$ = 0;
function $JSONCall(this$static){
  this$static.method = ($clinit_36() , GET);
  return this$static;
}

function $processResponse(response){
  var $e0, data, value;
  data = null;
  value = null;
  try {
    value = parse(response.val$xmlHttpRequest.responseText);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 37)) {
      throw $RuntimeException(new RuntimeException(), Lcom_web_1bloks_http_client_JSONCall_2_classLit + ".processResponse: can't parse response data to JSON object");
    }
     else 
      throw $e0;
  }
  data = value.isObject();
  if (!data) {
    throw $RuntimeException(new RuntimeException(), Lcom_web_1bloks_http_client_JSONCall_2_classLit + '.processResponse: data must be an object');
  }
  return value;
}

function getClass_140(){
  return Lcom_web_1bloks_http_client_JSONCall_2_classLit;
}

function onError_1(request, exception){
  logInfo(Lcom_web_1bloks_http_client_JSONCall_2_classLit + '.onError');
  if (this.cb)
    logWarn(Lcom_web_1bloks_project_client_main_2_classLit + '.onJSONCallError: error fetching from /api/user');
  this.request = null;
}

function onResponseReceived_1(request, response){
  var code;
  code = response.val$xmlHttpRequest.status;
  logInfo(Lcom_web_1bloks_http_client_JSONCall_2_classLit + '.onResponseReceived, code=' + code);
  if (this.cb) {
    if (code == 200)
      $onJSONCallResponseReceived(this.cb, $processResponse(response));
    else 
      logWarn(Lcom_web_1bloks_project_client_main_2_classLit + '.onJSONCallError: error fetching from /api/user');
  }
  this.request = null;
}

function JSONCall(){
}

_ = JSONCall.prototype = new HttpCall();
_.getClass$ = getClass_140;
_.onError = onError_1;
_.onResponseReceived = onResponseReceived_1;
_.typeId$ = 0;
_.cb = null;
function getClass_141(){
  return Lcom_web_1bloks_project_client_AppConditionChecker_2_classLit;
}

function AppConditionChecker(){
}

_ = AppConditionChecker.prototype = new ConditionChecker();
_.getClass$ = getClass_141;
_.typeId$ = 0;
function $AppFlowManager(this$static){
  $clearImpl(new HashMap());
  return this$static;
}

function getClass_142(){
  return Lcom_web_1bloks_project_client_AppFlowManager_2_classLit;
}

function AppFlowManager(){
}

_ = AppFlowManager.prototype = new FlowManager();
_.getClass$ = getClass_142;
_.typeId$ = 0;
function getClass_143(){
  return Lcom_web_1bloks_project_client_AppNamespaces_2_classLit;
}

function AppNamespaces(){
}

_ = AppNamespaces.prototype = new Namespaces();
_.getClass$ = getClass_143;
_.typeId$ = 0;
function $AppPortalManager(this$static){
  $setup();
  if (!defaultTitle) {
    defaultTitle = safeNewFromText('Main');
  }
  return this$static;
}

function getClass_144(){
  return Lcom_web_1bloks_project_client_AppPortalManager_2_classLit;
}

function AppPortalManager(){
}

_ = AppPortalManager.prototype = new PortalManager();
_.getClass$ = getClass_144;
_.typeId$ = 92;
var defaultTitle = null;
function $AppTitleAccessList(this$static){
  $TitleAccessList(this$static);
  return this$static;
}

function getClass_145(){
  return Lcom_web_1bloks_project_client_AppTitleAccessList_2_classLit;
}

function AppTitleAccessList(){
}

_ = AppTitleAccessList.prototype = new TitleAccessList();
_.getClass$ = getClass_145;
_.typeId$ = 0;
function $AppViewManager(this$static){
  this$static.map = $HashMap(new HashMap());
  WILDTITLE_0 = newWild();
  $setup_0(this$static);
  $addMapping(this$static, this$static.editPageTitle, $EditPage(new EditPage()));
  $addMapping(this$static, wildTitle, $MainPage(new MainPage()));
  return this$static;
}

function $setup_0(this$static){
  var $e0, e, ne, te;
  wildTitle = newWild();
  e = null;
  try {
    this$static.editPageTitle = newFromText('Edit');
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 28)) {
      te = $e0;
      e = te;
    }
     else if (instanceOf($e0, 29)) {
      ne = $e0;
      e = ne;
    }
     else 
      throw $e0;
  }
  if (e)
    throw $RuntimeException(new RuntimeException(), Lcom_web_1bloks_project_client_AppViewManager_2_classLit + '.setup, msg=' + e.detailMessage);
}

function getClass_146(){
  return Lcom_web_1bloks_project_client_AppViewManager_2_classLit;
}

function AppViewManager(){
}

_ = AppViewManager.prototype = new ViewManager();
_.getClass$ = getClass_146;
_.typeId$ = 0;
_.editPageTitle = null;
var wildTitle = null;
function $main(this$static){
  this$static.go = $GearsOffline(new GearsOffline());
  return this$static;
}

function $onJSONCallResponseReceived(this$static, response){
  this$static.currentUser = $getCurrentUser();
  $initFromJSON(this$static.currentUser, response);
  $setupTools(this$static.basePanel);
  $doUpdate(this$static.basePanel);
}

function $onModuleLoad(this$static){
  var uf;
  $setup_2(this$static.go, 'web_bloks', 'com.web_bloks.project.main.nocache.manifest');
  $Namespaces(new AppNamespaces());
  this$static.appAcl = $AppTitleAccessList(new AppTitleAccessList());
  this$static.appFlowManager = $AppFlowManager(new AppFlowManager());
  this$static.appViewManager = $AppViewManager(new AppViewManager());
  this$static.appCC = new AppConditionChecker();
  this$static.appPortalManager = $AppPortalManager(new AppPortalManager());
  this$static.currentUser = $User(new User());
  this$static.basePanel = $Base(new Base());
  $setupUserParameters(this$static);
  this$static.rootPanel = ($clinit_153() , get_0(null));
  $add(this$static.rootPanel, this$static.basePanel);
  this$static.appFlowManager.vm = this$static.appViewManager;
  this$static.appFlowManager.cc = this$static.appCC;
  this$static.appFlowManager.tacl = this$static.appAcl;
  $doFinalInit(this$static.appFlowManager);
  this$static.appPortalManager.basePage = this$static.basePanel;
  this$static.appPortalManager.flowManager = this$static.appFlowManager;
  $clinit_75();
  $clinit_87();
  $add_8(historyListeners, this$static.appPortalManager);
  uf = extractFieldsFromLocation();
  if (uf) {
    $navigateTo_0(this$static.appPortalManager, uf);
  }
   else {
    $navigateTo(this$static.appPortalManager, defaultTitle);
  }
}

function $setupUserParameters(this$static){
  var $e0, e, jsc;
  this$static.currentUser = $getCurrentUser();
  jsc = $JSONCall(new JSONCall());
  jsc.cb = this$static;
  try {
    $execute_1(jsc, '/api/user//', null);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 38)) {
      e = $e0;
      logWarn(Lcom_web_1bloks_project_client_main_2_classLit + '.onModuleLoad: error performing /api/user/ call, msg=' + e.detailMessage);
    }
     else 
      throw $e0;
  }
}

function getClass_147(){
  return Lcom_web_1bloks_project_client_main_2_classLit;
}

function main(){
}

_ = main.prototype = new Object_0();
_.getClass$ = getClass_147;
_.typeId$ = 0;
_.appAcl = null;
_.appCC = null;
_.appFlowManager = null;
_.appPortalManager = null;
_.appViewManager = null;
_.basePanel = null;
_.currentUser = null;
_.rootPanel = null;
function $Base(this$static){
  var html, labelFooterMessage, td, td_2, td_0, td_3, td_4, td_1, td_5;
  this$static.webbloksTitle = $Label(new Label());
  this$static.logo = $LogoWidget(new LogoWidget());
  logInfo(Lcom_web_1bloks_project_pages_client_Base_2_classLit + '.setup');
  this$static.verticalPanel = $VerticalPanel(new VerticalPanel());
  $initWidget(this$static, this$static.verticalPanel);
  this$static.element.style['width'] = '100%';
  this$static.element.style['height'] = '100%';
  this$static.horizontalPanel = $HorizontalPanel(new HorizontalPanel());
  $add_5(this$static.verticalPanel, this$static.horizontalPanel);
  $setSize_0(this$static.verticalPanel, '100%', '100%');
  this$static.flexTableHeader = $FlexTable(new FlexTable());
  this$static.contentWrapper = $SimplePanel(new SimplePanel());
  $add_5(this$static.verticalPanel, this$static.contentWrapper);
  $setCellVerticalAlignment(this$static.verticalPanel, this$static.contentWrapper, ($clinit_125() , ALIGN_TOP));
  $setCellHorizontalAlignment(this$static.verticalPanel, this$static.contentWrapper, ($clinit_121() , ALIGN_LEFT));
  $setTitle(this$static.contentWrapper, '');
  $setSize_0(this$static.contentWrapper, '100%', '100%');
  td = $getParentElement(this$static.contentWrapper.element);
  td['height'] = '100%';
  td_2 = $getParentElement(this$static.contentWrapper.element);
  td_2['width'] = '100%';
  this$static.flexTableFooter = $FlexTable(new FlexTable());
  this$static.webbloksTitle = $Label(new Label());
  this$static.loginLogout = $LoginLogoutWidget(new LoginLogoutWidget());
  this$static.googleGears = $GearsStatus(new GearsStatus());
  $setCellVerticalAlignment(this$static.verticalPanel, this$static.horizontalPanel, ALIGN_TOP);
  $setSize_0(this$static.horizontalPanel, '100%', '32');
  td_0 = $getParentElement(this$static.horizontalPanel.element);
  td_0['height'] = '32';
  td_3 = $getParentElement(this$static.horizontalPanel.element);
  td_3['width'] = '100%';
  setStylePrimaryName(this$static.horizontalPanel.element, 'gwt-TopPanel');
  this$static.horizontalPanel.element['className'] = 'gwt-TopPanel';
  $add_1(this$static.horizontalPanel, this$static.flexTableHeader);
  this$static.flexTableHeader.element['className'] = 'gwt-Header';
  td_4 = $getParentElement(this$static.flexTableHeader.element);
  td_4['width'] = '100%';
  this$static.flexTableHeader.element.style['width'] = '100%';
  $setWidget(this$static.flexTableHeader, 0, 1, this$static.webbloksTitle);
  this$static.webbloksTitle.element.style['width'] = '120px';
  $setWidth(this$static.flexTableHeader.cellFormatter, 0, 1, '100px');
  setStylePrimaryName(this$static.webbloksTitle.element, 'gwt-Title');
  this$static.webbloksTitle.element['className'] = 'gwt-Title';
  $setInnerText(this$static.webbloksTitle.element, 'Web-Bloks');
  $setWidth(this$static.flexTableHeader.cellFormatter, 0, 1, '100%');
  $setWidget(this$static.flexTableHeader, 0, 3, this$static.loginLogout);
  $setWidth(this$static.flexTableHeader.cellFormatter, 0, 3, '35');
  $setHorizontalAlignment(this$static.flexTableHeader.cellFormatter, 0, 3, ALIGN_RIGHT);
  $setWidget(this$static.flexTableHeader, 0, 0, this$static.logo);
  $setWidth(this$static.flexTableHeader.cellFormatter, 0, 0, '50px');
  this$static.logo.element.href = '#Main';
  $setWidth(this$static.flexTableHeader.cellFormatter, 0, 1, '380px');
  this$static.userMessageWidget = $UserMessageWidget(new UserMessageWidget(), '<hr>');
  $setWidget(this$static.flexTableHeader, 0, 2, this$static.userMessageWidget);
  $setHorizontalAlignment(this$static.flexTableHeader.cellFormatter, 0, 2, ALIGN_CENTER);
  $setWidth(this$static.flexTableHeader.cellFormatter, 0, 2, '100%');
  $setInnerText(this$static.userMessageWidget.element, '');
  $add_5(this$static.verticalPanel, this$static.flexTableFooter);
  this$static.flexTableFooter.element['className'] = 'gwt-Footer';
  $setCellHorizontalAlignment(this$static.verticalPanel, this$static.flexTableFooter, ALIGN_CENTER);
  td_1 = $getParentElement(this$static.flexTableFooter.element);
  td_1['height'] = '100%';
  td_5 = $getParentElement(this$static.flexTableFooter.element);
  td_5['width'] = '100%';
  $setSize_0(this$static.flexTableFooter, '100%', '100%');
  $setWidget(this$static.flexTableFooter, 1, 0, this$static.googleGears);
  $setHorizontalAlignment(this$static.flexTableFooter.cellFormatter, 1, 4, ALIGN_RIGHT);
  $setHorizontalAlignment(this$static.flexTableFooter.cellFormatter, 1, 0, ALIGN_RIGHT);
  $setHorizontalAlignment(this$static.flexTableFooter.cellFormatter, 1, 0, ALIGN_RIGHT);
  labelFooterMessage = $Label_1(new Label(), '');
  $setWidget(this$static.flexTableFooter, 1, 1, labelFooterMessage);
  $setHorizontalAlignment(this$static.flexTableFooter.cellFormatter, 1, 1, ALIGN_CENTER);
  labelFooterMessage.element.style.display = 'none';
  $setWidth(this$static.flexTableFooter.cellFormatter, 1, 1, '100%');
  labelFooterMessage.element.style['width'] = '100%';
  this$static.statusIcon = $StatusWidget(new StatusWidget());
  $setWidget(this$static.flexTableFooter, 1, 3, this$static.statusIcon);
  html = $HTML(new HTML(), '<hr>');
  $setWidget(this$static.flexTableFooter, 0, 0, html);
  $setRowSpan(this$static.flexTableFooter.cellFormatter, 0, 0, 4);
  this$static.clearGearsCacheButton = $Button(new Button());
  $setWidget(this$static.flexTableFooter, 1, 2, this$static.clearGearsCacheButton);
  this$static.clearGearsCacheButton.element.style.display = 'none';
  $setInnerText(this$static.clearGearsCacheButton.element, 'Clear Gears Cache');
  $addClickListener(this$static.clearGearsCacheButton, new Base$1());
  return this$static;
}

function $doUpdate(this$static){
  if (this$static.currentView) {
    this$static.currentView.doUpdate();
  }
}

function $isCurrentView(this$static, viewname){
  if (this$static.currentView) {
    return this$static.currentView.getViewName() == viewname;
  }
  return false;
}

function $setBody(this$static, cp){
  logDebug(Lcom_web_1bloks_project_pages_client_Base_2_classLit + '.setBody: BEGIN, cp name=' + cp.getPageName());
  this$static.currentView = cp;
  this$static.currentWidget = cp.getViewWidget();
  $setWidget_0(this$static.contentWrapper, this$static.currentWidget);
}

function $setupTools(this$static){
  var login_url, logout_url, user, username;
  user = $getCurrentUser();
  if (!user) {
    throw $RuntimeException(new RuntimeException(), Lcom_web_1bloks_project_pages_client_Base_2_classLit + '.initUser: user is null');
  }
  login_url = $getParam(user, 'login_url');
  logout_url = $getParam(user, 'logout_url');
  this$static.loginLogout.loginUrl = login_url;
  this$static.loginLogout.logoutUrl = logout_url;
  username = $getParam(user, 'name');
  if (username != null && username.length != 0) {
    user.loginState = true;
    $setState(this$static.loginLogout, ($clinit_276() , logout));
  }
   else {
    user.loginState = false;
    $setState(this$static.loginLogout, ($clinit_276() , login));
  }
  this$static.clearGearsCacheButton.element.style.display = $isMemberOf(user, 'admin')?'':'none';
}

function getClass_149(){
  return Lcom_web_1bloks_project_pages_client_Base_2_classLit;
}

function Base(){
}

_ = Base.prototype = new Composite();
_.getClass$ = getClass_149;
_.typeId$ = 93;
_.clearGearsCacheButton = null;
_.contentWrapper = null;
_.currentView = null;
_.currentWidget = null;
_.flexTableFooter = null;
_.flexTableHeader = null;
_.googleGears = null;
_.horizontalPanel = null;
_.loginLogout = null;
_.statusIcon = null;
_.userMessageWidget = null;
_.verticalPanel = null;
function getClass_148(){
  return Lcom_web_1bloks_project_pages_client_Base$1_2_classLit;
}

function onClick_3(sender){
}

function Base$1(){
}

_ = Base$1.prototype = new Object_0();
_.getClass$ = getClass_148;
_.onClick_0 = onClick_3;
_.typeId$ = 94;
function $EditPage(this$static){
  var html, labelRecentList, verticalPanel, verticalPanelRichText, verticalPanelSidebar, verticalSplitPanel, td, td_4, td_5, td_0, td_1, td_6, td_7, td_2, td_8, td_9, td_3, td_10;
  this$static.richTextArea = $RichTextArea(new RichTextArea());
  this$static.dl = $DocumentLoader(new DocumentLoader());
  this$static.poster = $HtmlPostCall(new HtmlPostCall());
  this$static.tabPanel = $TabPanel(new TabPanel());
  logInfo(Lcom_web_1bloks_project_pages_client_EditPage_2_classLit + ': Constructor');
  this$static.vpanel = $VerticalPanel(new VerticalPanel());
  $initWidget(this$static, this$static.vpanel);
  this$static.element.style['width'] = '100%';
  this$static.element.style['height'] = '100%';
  this$static.vpanel.table['cellSpacing'] = 5;
  $setSize_0(this$static.vpanel, '100%', '100%');
  this$static.horizontalSplitPanel = $HorizontalSplitPanel(new HorizontalSplitPanel());
  $add_5(this$static.vpanel, this$static.horizontalSplitPanel);
  $setCellVerticalAlignment(this$static.vpanel, this$static.horizontalSplitPanel, ($clinit_125() , ALIGN_TOP));
  $setCellHorizontalAlignment(this$static.vpanel, this$static.horizontalSplitPanel, ($clinit_121() , ALIGN_LEFT));
  $setSize_0(this$static.horizontalSplitPanel, '100%', '100%');
  td = $getParentElement(this$static.horizontalSplitPanel.element);
  td['height'] = '100%';
  td_4 = $getParentElement(this$static.horizontalSplitPanel.element);
  td_4['width'] = '100%';
  $setSplitPosition_0(this$static.horizontalSplitPanel, '15%');
  this$static.verticalPanelContent = $VerticalPanel(new VerticalPanel());
  $setWidget_1(this$static.horizontalSplitPanel, 1, this$static.verticalPanelContent);
  this$static.verticalPanelContent.table['cellSpacing'] = 10;
  $setSize_0(this$static.verticalPanelContent, '100%', '100%');
  this$static.richTextToolbarWidget = $RichTextToolbarWidget(new RichTextToolbarWidget(), this$static.richTextArea);
  verticalPanelRichText = $VerticalPanel(new VerticalPanel());
  $add_4(this$static.tabPanel, verticalPanelRichText, 'Rich Text');
  verticalPanelRichText.element.style['width'] = '98%';
  verticalPanelRichText.element.style['height'] = '100%';
  verticalPanelRichText.horzAlign = ALIGN_CENTER;
  verticalPanelRichText.table['cellSpacing'] = 5;
  $add_5(verticalPanelRichText, this$static.richTextToolbarWidget);
  this$static.richTextToolbarWidget.element.style['height'] = '40';
  $setCellVerticalAlignment(verticalPanelRichText, this$static.richTextToolbarWidget, ALIGN_TOP);
  $setCellHorizontalAlignment(verticalPanelRichText, this$static.richTextToolbarWidget, ALIGN_CENTER);
  $add_5(verticalPanelRichText, this$static.richTextArea);
  $setSize_0(this$static.richTextArea, '100%', '400');
  td_5 = $getParentElement(this$static.richTextArea.element);
  td_5['width'] = '100%';
  td_0 = $getParentElement(this$static.richTextArea.element);
  td_0['height'] = '100%';
  $setText_4(this$static.richTextArea.impl, '');
  $setCellVerticalAlignment(verticalPanelRichText, this$static.richTextArea, ALIGN_TOP);
  $setCellHorizontalAlignment(verticalPanelRichText, this$static.richTextArea, ALIGN_CENTER);
  impl_1.setTabIndex_0(this$static.richTextArea.element, 3);
  $add_5(this$static.verticalPanelContent, this$static.tabPanel);
  td_1 = $getParentElement(this$static.tabPanel.element);
  td_1['height'] = '100%';
  td_6 = $getParentElement(this$static.tabPanel.element);
  td_6['width'] = '100%';
  $setCellVerticalAlignment(this$static.verticalPanelContent, this$static.tabPanel, ALIGN_TOP);
  $setCellHorizontalAlignment(this$static.verticalPanelContent, this$static.tabPanel, ALIGN_CENTER);
  $setSize_0(this$static.tabPanel, '100%', '100%');
  this$static.textArea = $TextArea(new TextArea());
  $add_4(this$static.tabPanel, this$static.textArea, 'Text');
  $setSize_0(this$static.textArea, '100%', '100%');
  this$static.textArea.element.style['textAlign'] = ($clinit_175() , ALIGN_LEFT_0).textAlignString;
  impl_1.setTabIndex_0(this$static.textArea.element, 3);
  this$static.textArea.element['cols'] = 120;
  this$static.textArea.element['rows'] = 20;
  $selectTab(this$static.tabPanel.tabBar, 0);
  this$static.buttonSave = $Button(new Button());
  $add_5(this$static.verticalPanelContent, this$static.buttonSave);
  $setSize_0(this$static.buttonSave, '100', '25');
  td_7 = $getParentElement(this$static.buttonSave.element);
  td_7['width'] = '100';
  td_2 = $getParentElement(this$static.buttonSave.element);
  td_2['height'] = '25';
  $setCellVerticalAlignment(this$static.verticalPanelContent, this$static.buttonSave, ALIGN_TOP);
  $setCellHorizontalAlignment(this$static.verticalPanelContent, this$static.buttonSave, ALIGN_CENTER);
  this$static.buttonSave.element['accessKey'] = '' + String.fromCharCode(83);
  impl_1.setTabIndex_0(this$static.buttonSave.element, 4);
  $setInnerText(this$static.buttonSave.element, 'Save');
  $setTitle(this$static.buttonSave, 'Save this page');
  verticalPanelSidebar = $VerticalPanel(new VerticalPanel());
  $setWidget_1(this$static.horizontalSplitPanel, 0, verticalPanelSidebar);
  verticalPanelSidebar.element.style['width'] = '100%';
  verticalPanelSidebar.element.style['height'] = '100%';
  verticalPanel = $VerticalPanel(new VerticalPanel());
  $add_5(verticalPanelSidebar, verticalPanel);
  verticalPanel.element.style['width'] = '100%';
  verticalPanel.element.style['height'] = '100%';
  this$static.textBoxInputTitle = $TextBox(new TextBox());
  $add_5(verticalPanel, this$static.textBoxInputTitle);
  impl_1.setTabIndex_0(this$static.textBoxInputTitle.element, 1);
  this$static.textBoxInputTitle.element.style['width'] = '100%';
  td_8 = $getParentElement(this$static.textBoxInputTitle.element);
  td_8['width'] = '100%';
  $setTitle(this$static.textBoxInputTitle, 'Input target title');
  this$static.buttonLoad = $Button(new Button());
  $add_5(verticalPanel, this$static.buttonLoad);
  $setCellVerticalAlignment(verticalPanel, this$static.buttonLoad, ALIGN_TOP);
  $setCellHorizontalAlignment(verticalPanel, this$static.buttonLoad, ALIGN_CENTER);
  impl_1.setTabIndex_0(this$static.buttonLoad.element, 2);
  $setInnerText(this$static.buttonLoad.element, 'Load');
  $setTitle(this$static.buttonLoad, 'Load a page');
  html = $HTML(new HTML(), '<hr>');
  $add_5(verticalPanel, html);
  $setCellVerticalAlignment(verticalPanel, html, ALIGN_TOP);
  labelRecentList = $Label_1(new Label(), 'Recent Pages');
  $add_5(verticalPanel, labelRecentList);
  $setCellVerticalAlignment(verticalPanel, labelRecentList, ALIGN_MIDDLE);
  $setCellHorizontalAlignment(verticalPanel, labelRecentList, ALIGN_CENTER);
  td_9 = $getParentElement(labelRecentList.element);
  td_9['width'] = '100%';
  this$static.recentListPages = $RecentListWidget(new RecentListWidget(), 'pages');
  $setSize_0(this$static.recentListPages, '100%', '100%');
  this$static.listBoxRecentList = $RecentListWidget(new RecentListWidget(), 'rawpages');
  $setSize_0(this$static.listBoxRecentList, '100%', '100%');
  verticalSplitPanel = $VerticalSplitPanel(new VerticalSplitPanel());
  $add_5(verticalPanel, verticalSplitPanel);
  verticalSplitPanel.element.style['width'] = '100%';
  verticalSplitPanel.element.style['height'] = '100%';
  $setCellVerticalAlignment(verticalPanel, verticalSplitPanel, ALIGN_TOP);
  $setCellHorizontalAlignment(verticalPanel, verticalSplitPanel, ALIGN_CENTER);
  td_3 = $getParentElement(verticalSplitPanel.element);
  td_3['height'] = '100%';
  td_10 = $getParentElement(verticalSplitPanel.element);
  td_10['width'] = '100%';
  $setSplitPosition_2(verticalSplitPanel, '50%');
  $add_3(verticalSplitPanel, this$static.listBoxRecentList);
  $add_3(verticalSplitPanel, this$static.recentListPages);
  $add_8(this$static.dl.listeners.arrayList, this$static);
  this$static.poster.callback = this$static;
  $setHeader_0(this$static.poster, 'Content-Type', 'text/html');
  $addClickListener(this$static.buttonLoad, $EditPage$1(new EditPage$1(), this$static));
  $addClickListener(this$static.buttonSave, $EditPage$2(new EditPage$2(), this$static));
  $addTabListener_0(this$static.tabPanel, $EditPage$3(new EditPage$3(), this$static));
  $addChangeListener(this$static.listBoxRecentList.lb, $EditPage$5(new EditPage$5(), this$static));
  $addChangeListener(this$static.recentListPages.lb, $EditPage$6(new EditPage$6(), this$static));
  return this$static;
}

function $extractTemplateList(content){
  var iEnd, iStart;
  if (null == content)
    return null;
  iStart = content.indexOf('<templates>');
  iEnd = content.indexOf('<\/templates>');
  if (-1 == iStart || -1 == iEnd)
    return null;
  return content.substr(iStart + 11, iEnd - (iStart + 11));
}

function $loadSpecifiedDocument(this$static){
  var $e0, e, e1, pageName, title;
  pageName = $getPropertyString(this$static.textBoxInputTitle.element, 'value');
  e = null;
  try {
    title = newFromText(pageName);
    addCommand($EditPage$4(new EditPage$4(), title));
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 28)) {
      e1 = $e0;
      e = e1;
    }
     else if (instanceOf($e0, 29)) {
      e1 = $e0;
      e = e1;
    }
     else 
      throw $e0;
  }
  if (e) {
    logInfo(Lcom_web_1bloks_project_pages_client_EditPage_2_classLit + '.loadSpecifiedDocument: invalid title');
    $sendMessage(this$static.umsg, 'Invalid Page');
    $updateUI(this$static);
    return;
  }
}

function $processTemplate(this$static){
  var templateStringList;
  if (!this$static.currentDoc)
    return;
  templateStringList = $extractTemplateList(this$static.currentDoc.content);
  logInfo(Lcom_web_1bloks_project_pages_client_EditPage_2_classLit + '.processTemplate: ' + templateStringList);
}

function $saveCurrentDocument(this$static){
  var $e0, content, e;
  this$static.buttonSave.element['disabled'] = !false;
  $setStatus(this$static.smsg, ($clinit_263() , PENDING));
  content = this$static.isRichType?$getHTML_0(this$static.richTextArea.impl):$getPropertyString(this$static.textArea.element, 'value');
  try {
    $execute_1(this$static.poster, '/page/' + $toString_2(this$static.currentTitle) + '/', content);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 33)) {
      e = $e0;
      logError(Lcom_web_1bloks_project_pages_client_EditPage_2_classLit + '.saveCurrentDocument: exception raised, msg=' + e.detailMessage);
      $setStatus(this$static.smsg, ERROR);
      $sendMessage(this$static.umsg, 'Save error');
      $updateUI(this$static);
    }
     else 
      throw $e0;
  }
}

function $updateEditType(this$static, richType){
  this$static.isRichType = richType;
  if (richType) {
    this$static.richTextToolbarWidget.element.style.display = '';
    $setHTML_1(this$static.richTextArea.impl, $getPropertyString(this$static.textArea.element, 'value'));
  }
   else {
    this$static.richTextToolbarWidget.element.style.display = 'none';
    $setText_3(this$static.textArea, $getHTML_0(this$static.richTextArea.impl));
  }
}

function $updateUI(this$static){
  var admin, currentUser;
  currentUser = $getCurrentUser();
  admin = $isMemberOf(currentUser, 'admin');
  this$static.buttonSave.element['disabled'] = !admin;
  this$static.buttonLoad.element['disabled'] = !true;
}

function doUpdate(){
}

function doView(){
}

function getClass_158(){
  return Lcom_web_1bloks_project_pages_client_EditPage_2_classLit;
}

function getPageName(){
  return $toString_2(this.currentTitle);
}

function getViewName(){
  return 'Edit';
}

function getViewWidget(){
  return this;
}

function onDocumentLoaderResponse_0(response, LoaderResponseCode){
  if (LoaderResponseCode.code == 0) {
    $setStatus(this.smsg, ($clinit_263() , OK_0));
    this.currentDoc = response;
    $setText_3(this.textArea, this.currentDoc.content);
    $setHTML_1(this.richTextArea.impl, this.currentDoc.content);
  }
   else {
    $setStatus(this.smsg, ($clinit_263() , ERROR));
    this.currentDoc = null;
    $setText_4(this.richTextArea.impl, '');
    this.textArea.element['value'] = '' != null?'':'';
  }
  $updateUI(this);
  $processTemplate(this);
}

function onError_2(request, exception){
  $setStatus(this.smsg, ($clinit_263() , ERROR));
  $sendMessage(this.umsg, 'Save error');
  $updateUI(this);
}

function onResponseReceived_2(request, response){
  $setStatus(this.smsg, ($clinit_263() , OK_0));
  $sendMessage(this.umsg, 'Save successful');
  $updateUI(this);
}

function setRequestedPageParams(requestedPage, query){
  var $e0, e, exception, params, rawTitle, title, nsraw;
  params = extractAndMapQuery(query);
  if (!params) {
    $sendMessage(this.umsg, 'Invalid Page');
    logDebug(Lcom_web_1bloks_project_pages_client_EditPage_2_classLit + 'setRequestedPageParams: missing params');
    this.currentTitle = null;
    return;
  }
  if (!('title' == null?params.nullSlotLive:'title' != null?':' + 'title' in params.stringMap:$hasHashValue(params, 'title', ~~getHashCode_0('title')))) {
    $sendMessage(this.umsg, 'Invalid Page');
    logDebug(Lcom_web_1bloks_project_pages_client_EditPage_2_classLit + "setRequestedPageParams: missing 'title' param");
    this.currentTitle = null;
    return;
  }
  exception = null;
  title = null;
  rawTitle = null;
  try {
    title = newFromText(dynamicCast('title' == null?params.nullSlot:'title' != null?params.stringMap[':' + 'title']:$getHashValue(params, 'title', ~~getHashCode_0('title')), 1));
    rawTitle = (nsraw = createRaw(title.namespace) , newFromText(nsraw + ':' + title.name_0));
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 28)) {
      e = $e0;
      exception = e;
    }
     else if (instanceOf($e0, 29)) {
      e = $e0;
      exception = e;
    }
     else 
      throw $e0;
  }
  if (exception) {
    $setStatus(this.smsg, ($clinit_263() , ERROR));
    this.currentTitle = null;
    return;
  }
  this.currentTitle = title;
  try {
    $load(this.dl, $toString_2(rawTitle));
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 33)) {
      $setStatus(this.smsg, ($clinit_263() , ERROR));
    }
     else 
      throw $e0;
  }
  $addEntry(this.listBoxRecentList, $toString_2(rawTitle), '');
  $addEntry(this.recentListPages, $toString_2(title), '');
}

function setStatusMessageServer(smsg){
  this.smsg = smsg;
}

function setUserMessageServer(umsg){
  this.umsg = umsg;
}

function EditPage(){
}

_ = EditPage.prototype = new Composite();
_.doUpdate = doUpdate;
_.doView = doView;
_.getClass$ = getClass_158;
_.getPageName = getPageName;
_.getViewName = getViewName;
_.getViewWidget = getViewWidget;
_.onDocumentLoaderResponse = onDocumentLoaderResponse_0;
_.onError = onError_2;
_.onResponseReceived = onResponseReceived_2;
_.setRequestedPageParams = setRequestedPageParams;
_.setStatusMessageServer = setStatusMessageServer;
_.setUserMessageServer = setUserMessageServer;
_.typeId$ = 95;
_.buttonLoad = null;
_.buttonSave = null;
_.currentDoc = null;
_.currentTitle = null;
_.horizontalSplitPanel = null;
_.isRichType = true;
_.listBoxRecentList = null;
_.recentListPages = null;
_.richTextToolbarWidget = null;
_.smsg = null;
_.textArea = null;
_.textBoxInputTitle = null;
_.umsg = null;
_.verticalPanelContent = null;
_.vpanel = null;
function $EditPage$1(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_150(){
  return Lcom_web_1bloks_project_pages_client_EditPage$1_2_classLit;
}

function onClick_4(sender){
  this.this$0.buttonLoad.element['disabled'] = !false;
  $setStatus(this.this$0.smsg, ($clinit_263() , PENDING));
  $loadSpecifiedDocument(this.this$0);
}

function EditPage$1(){
}

_ = EditPage$1.prototype = new Object_0();
_.getClass$ = getClass_150;
_.onClick_0 = onClick_4;
_.typeId$ = 96;
_.this$0 = null;
function $EditPage$2(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_151(){
  return Lcom_web_1bloks_project_pages_client_EditPage$2_2_classLit;
}

function onClick_5(sender){
  $saveCurrentDocument(this.this$0);
}

function EditPage$2(){
}

_ = EditPage$2.prototype = new Object_0();
_.getClass$ = getClass_151;
_.onClick_0 = onClick_5;
_.typeId$ = 97;
_.this$0 = null;
function $EditPage$3(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_152(){
  return Lcom_web_1bloks_project_pages_client_EditPage$3_2_classLit;
}

function onBeforeTabSelected_0(sender, tabIndex){
  return true;
}

function onTabSelected_0(sender, tabIndex){
  $updateEditType(this.this$0, tabIndex == 0);
}

function EditPage$3(){
}

_ = EditPage$3.prototype = new Object_0();
_.getClass$ = getClass_152;
_.onBeforeTabSelected = onBeforeTabSelected_0;
_.onTabSelected = onTabSelected_0;
_.typeId$ = 98;
_.this$0 = null;
function $EditPage$4(this$static, val$title){
  this$static.val$title = val$title;
  return this$static;
}

function execute_3(){
  $clinit_75();
  newItem_0('Edit?title=' + $toString_2(this.val$title), true);
}

function getClass_153(){
  return Lcom_web_1bloks_project_pages_client_EditPage$4_2_classLit;
}

function EditPage$4(){
}

_ = EditPage$4.prototype = new Object_0();
_.execute_0 = execute_3;
_.getClass$ = getClass_153;
_.typeId$ = 99;
_.val$title = null;
function $EditPage$5(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_155(){
  return Lcom_web_1bloks_project_pages_client_EditPage$5_2_classLit;
}

function onChange(sender){
  var item, selectedIndex;
  selectedIndex = this.this$0.listBoxRecentList.lb.element.selectedIndex;
  if (-1 == selectedIndex)
    return;
  item = $getItemText(this.this$0.listBoxRecentList.lb, selectedIndex);
  addCommand($EditPage$5$1(new EditPage$5$1(), item));
}

function EditPage$5(){
}

_ = EditPage$5.prototype = new Object_0();
_.getClass$ = getClass_155;
_.onChange = onChange;
_.typeId$ = 100;
_.this$0 = null;
function $EditPage$5$1(this$static, val$item){
  this$static.val$item = val$item;
  return this$static;
}

function execute_4(){
  $clinit_75();
  newItem_0('Edit?title=' + this.val$item, true);
}

function getClass_154(){
  return Lcom_web_1bloks_project_pages_client_EditPage$5$1_2_classLit;
}

function EditPage$5$1(){
}

_ = EditPage$5$1.prototype = new Object_0();
_.execute_0 = execute_4;
_.getClass$ = getClass_154;
_.typeId$ = 101;
_.val$item = null;
function $EditPage$6(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_157(){
  return Lcom_web_1bloks_project_pages_client_EditPage$6_2_classLit;
}

function onChange_0(sender){
  var item, selectedIndex;
  selectedIndex = this.this$0.recentListPages.lb.element.selectedIndex;
  if (-1 == selectedIndex)
    return;
  item = $getItemText(this.this$0.recentListPages.lb, selectedIndex);
  addCommand($EditPage$6$1(new EditPage$6$1(), item));
}

function EditPage$6(){
}

_ = EditPage$6.prototype = new Object_0();
_.getClass$ = getClass_157;
_.onChange = onChange_0;
_.typeId$ = 102;
_.this$0 = null;
function $EditPage$6$1(this$static, val$item){
  this$static.val$item = val$item;
  return this$static;
}

function execute_5(){
  $clinit_75();
  newItem_0(this.val$item, true);
}

function getClass_156(){
  return Lcom_web_1bloks_project_pages_client_EditPage$6$1_2_classLit;
}

function EditPage$6$1(){
}

_ = EditPage$6$1.prototype = new Object_0();
_.execute_0 = execute_5;
_.getClass$ = getClass_156;
_.typeId$ = 103;
_.val$item = null;
function $MainPage(this$static){
  var flexTableTools, horizontalPanel, td, td_1, td_0, td_2;
  this$static.documentManager = $DocumentManager(new DocumentManager());
  $add_8(this$static.documentManager.documentListeners.arrayList, this$static);
  this$static.documentManager.documentLoader.api = '/page/';
  this$static.verticalPanel = $VerticalPanel(new VerticalPanel());
  $initWidget(this$static, this$static.verticalPanel);
  this$static.verticalPanel.table['cellSpacing'] = 2;
  this$static.element.style['width'] = '100%';
  this$static.element.style['height'] = '100%';
  $setSize_0(this$static.verticalPanel, '100%', '100%');
  horizontalPanel = $HorizontalPanel(new HorizontalPanel());
  $add_5(this$static.verticalPanel, horizontalPanel);
  horizontalPanel.element.style['width'] = '100%';
  horizontalPanel.element.style['height'] = '100%';
  td = $getParentElement(horizontalPanel.element);
  td['height'] = '100%';
  td_1 = $getParentElement(horizontalPanel.element);
  td_1['width'] = '100%';
  this$static.htmlContent = $HTML(new HTML(), '');
  $add_1(horizontalPanel, this$static.htmlContent);
  td_0 = $getParentElement(this$static.htmlContent.element);
  td_0['height'] = '100%';
  td_2 = $getParentElement(this$static.htmlContent.element);
  td_2['width'] = '100%';
  $setSize_0(this$static.htmlContent, '100%', '100%');
  flexTableTools = $FlexTable(new FlexTable());
  $add_1(horizontalPanel, flexTableTools);
  flexTableTools.tableElem['cellSpacing'] = 2;
  flexTableTools.tableElem['cellPadding'] = 2;
  this$static.editPageWidget = $EditPageWidget(new EditPageWidget());
  $setWidget(flexTableTools, 1, 0, this$static.editPageWidget);
  this$static.editPageWidget.element.style.display = 'none';
  $setVerticalAlignment(flexTableTools.cellFormatter, 1, 0, ($clinit_125() , ALIGN_TOP));
  $setHorizontalAlignment(flexTableTools.cellFormatter, 1, 0, ($clinit_121() , ALIGN_CENTER));
  this$static.editPageWidget.element.style['height'] = '35';
  $setHeight(flexTableTools.cellFormatter, 1, 0, '35');
  this$static.editPageWidget.api = '#Edit?title={{page}}';
  this$static.viewSourceWidget = $ViewSourceWidget(new ViewSourceWidget());
  $setWidget(flexTableTools, 0, 0, this$static.viewSourceWidget);
  this$static.viewSourceWidget.element.style.display = 'none';
  $setVerticalAlignment(flexTableTools.cellFormatter, 0, 0, ALIGN_TOP);
  $setHorizontalAlignment(flexTableTools.cellFormatter, 0, 0, ALIGN_CENTER);
  this$static.viewSourceWidget.element.style['height'] = '35';
  $setHeight(flexTableTools.cellFormatter, 0, 0, '35');
  this$static.viewSourceWidget.api = '#{{page}}';
  return this$static;
}

function $onDocumentChanged(this$static, doc){
  this$static.currentDocument = doc;
  if (!this$static.currentDocument) {
    logInfo(Lcom_web_1bloks_project_pages_client_MainPage_2_classLit + '.onDocumentChanged: received NULL document');
    $setStatus(this$static.smsg, ($clinit_263() , ERROR));
    $sendMessage(this$static.umsg, 'Page not found');
    return false;
  }
  if (this$static.currentDocument.state == 1) {
    $setStatus(this$static.smsg, ($clinit_263() , ERROR));
    $sendMessage(this$static.umsg, 'Page not found');
    return false;
  }
  this$static.htmlContent.element.innerHTML = this$static.currentDocument.content || '';
  $setStatus(this$static.smsg, ($clinit_263() , OK_0));
  $updateTools(this$static);
  return true;
}

function $updateTools(this$static){
  var $e0, rawTitle, title, user, nsraw;
  if (!this$static.currentDocument) {
    this$static.viewSourceWidget.element.style.display = 'none';
    this$static.editPageWidget.element.style.display = 'none';
    return;
  }
  title = this$static.currentDocument.title_0;
  user = $getCurrentUser();
  this$static.viewSourceWidget.element.style.display = user.loginState?'':'none';
  this$static.editPageWidget.element.style.display = $isMemberOf(user, 'admin')?'':'none';
  rawTitle = null;
  try {
    rawTitle = (nsraw = createRaw(title.namespace) , newFromText(nsraw + ':' + title.name_0));
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 28)) {
    }
     else if (instanceOf($e0, 29)) {
    }
     else 
      throw $e0;
  }
  if (rawTitle) {
    $setPageName(this$static.editPageWidget, $toString_2(rawTitle));
    $setPageName_0(this$static.viewSourceWidget, $toString_2(rawTitle));
  }
   else {
    logWarn(Lcom_web_1bloks_project_pages_client_MainPage_2_classLit + '.updateTools: EXCEPTION raised whilst generating raw title');
    this$static.viewSourceWidget.element.style.display = 'none';
    this$static.editPageWidget.element.style.display = 'none';
  }
}

function doUpdate_0(){
  $updateTools(this);
}

function doView_0(){
  $load_1(this.documentManager, this.requestPageName);
}

function getClass_159(){
  return Lcom_web_1bloks_project_pages_client_MainPage_2_classLit;
}

function getPageName_0(){
  return this.requestPageName;
}

function getViewName_0(){
  return 'Main';
}

function getViewWidget_0(){
  return this;
}

function setRequestedPageParams_0(requestedPage, query){
  this.requestPageName = requestedPage;
}

function setStatusMessageServer_0(smsg){
  this.smsg = smsg;
}

function setUserMessageServer_0(umsg){
  this.umsg = umsg;
}

function MainPage(){
}

_ = MainPage.prototype = new Composite();
_.doUpdate = doUpdate_0;
_.doView = doView_0;
_.getClass$ = getClass_159;
_.getPageName = getPageName_0;
_.getViewName = getViewName_0;
_.getViewWidget = getViewWidget_0;
_.setRequestedPageParams = setRequestedPageParams_0;
_.setStatusMessageServer = setStatusMessageServer_0;
_.setUserMessageServer = setUserMessageServer_0;
_.typeId$ = 104;
_.currentDocument = null;
_.documentManager = null;
_.editPageWidget = null;
_.htmlContent = null;
_.requestPageName = null;
_.smsg = null;
_.umsg = null;
_.verticalPanel = null;
_.viewSourceWidget = null;
function $createDatabase(this$static){
  var $e0, $e1, e, e2, factory;
  logDebug(Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.createDatabase: storage name[' + 'LocalStorage' + '] table name[' + $getTableName(this$static) + ']');
  factory = getInstance();
  this$static.db = factory.create('beta.database');
  this$static.db.open('LocalStorage');
  try {
    $execute_0(this$static.db, 'create table if not exists ' + $getTableName(this$static) + ' ' + '(entry TEXT, meta TEXT, created INT)', initValues(_3Ljava_lang_String_2_classLit, 159, 1, []));
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 39)) {
      e = $e0;
      logError(Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.createDatabase, storage:[' + 'LocalStorage' + ']' + ':exception raised whilst creating table. Msg= ' + e.detailMessage);
      try {
        logError(Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.createDatabase, storage:[' + 'LocalStorage' + ']' + ':dropping table. Msg= ' + e.detailMessage);
        $execute_0(this$static.db, 'drop table LocalStorage', initValues(_3Ljava_lang_String_2_classLit, 159, 1, []));
      }
       catch ($e1) {
        $e1 = caught($e1);
        if (instanceOf($e1, 38)) {
          e2 = $e1;
          logError(Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.createDatabase, storage:[' + 'LocalStorage' + ']' + ':dropping table raised exception. Msg= ' + e2.detailMessage);
        }
         else 
          throw $e1;
      }
      throw $LocalStorageException(new LocalStorageException(), e.detailMessage);
    }
     else 
      throw $e0;
  }
}

function $get_2(this$static, selectStatement, selectCount, whereStatement){
  var $e0, e, found, index, liste, result, resultSet, statement;
  if (null == selectStatement || selectStatement.length == 0)
    throw $LocalStorageException(new LocalStorageException(), Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.get storage:[' + 'LocalStorage' + ']' + ': select statement cannot be null/empty');
  if (null == whereStatement || whereStatement.length == 0)
    throw $LocalStorageException(new LocalStorageException(), Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.get storage:[' + 'LocalStorage' + ']' + ': where statement cannot be null/empty');
  liste = $Vector(new Vector());
  found = false;
  statement = 'SELECT ' + selectStatement + ' FROM ' + $getTableName(this$static) + ' ' + whereStatement;
  logDebug(Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.get, storage[' + 'LocalStorage' + ']' + ': statement[' + statement + ']');
  result = null;
  try {
    result = $execute_0(this$static.db, statement, initValues(_3Ljava_lang_String_2_classLit, 159, 1, []));
    while (result.isValidRow()) {
      found = true;
      resultSet = initDim(_3Ljava_lang_String_2_classLit, 159, 1, selectCount, 0);
      for (index = 0; index < selectCount; ++index) {
        resultSet[index] = $getFieldAsString(result, index);
      }
      $add_8(liste.arrayList, resultSet);
      result.next();
    }
    $close(result);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 39)) {
      e = $e0;
      throw $LocalStorageException(new LocalStorageException(), e.detailMessage);
    }
     else if (instanceOf($e0, 38)) {
      e = $e0;
      throw $LocalStorageException(new LocalStorageException(), e.detailMessage);
    }
     else 
      throw $e0;
  }
  if (!found) {
    logInfo(Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.get, storage[' + 'LocalStorage' + ']' + ' not found');
    return null;
  }
  logDebug(Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.get, storage[' + 'LocalStorage' + ']' + ' FOUND');
  return liste;
}

function $initialize(this$static){
  if (!isGearsInstalled())
    return false;
  logDebug(Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.initialize');
  if (this$static.db)
    return false;
  if (null == 'LocalStorage') {
    throw $LocalStorageException(new LocalStorageException(), 'storage name cannot be null');
  }
  if (null == $getTableName(this$static) || $getTableName(this$static).length == 0) {
    throw $LocalStorageException(new LocalStorageException(), 'table name cannot be null');
  }
  $createDatabase(this$static);
  return true;
}

function $put_0(this$static, propertyKeyList, propertyValueList){
  var $e0, e, i, lastrow, result, start, valuesStatement;
  if (null == propertyKeyList || propertyKeyList.length == 0) {
    throw $LocalStorageException(new LocalStorageException(), Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.put, storage:[' + 'LocalStorage' + ']' + ' propertyKeyList cannot be null or empty');
  }
  if (null == propertyValueList || propertyValueList.length == 0) {
    throw $LocalStorageException(new LocalStorageException(), Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.put, storage:[' + 'LocalStorage' + ']' + ' propertyValueList cannot be null or empty');
  }
  result = null;
  lastrow = 0;
  valuesStatement = $StringBuffer(new StringBuffer());
  $append_1(valuesStatement.builder, 'VALUES(');
  start = true;
  for (i = 0; i < propertyValueList.length; ++i) {
    if (!start)
      $append_1(valuesStatement.builder, ',');
    $append_1(valuesStatement.builder, '?');
    start = false;
  }
  $append_1(valuesStatement.builder, ')');
  try {
    result = $execute_0(this$static.db, 'INSERT OR REPLACE INTO ' + $getTableName(this$static) + ' (' + propertyKeyList + ') ' + valuesStatement, propertyValueList);
    lastrow = this$static.db.lastInsertRowId;
    logDebug(Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.put: result count: ' + result.fieldCount() + ', lastrowid:' + lastrow);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 39)) {
      e = $e0;
      logError(Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.put, storage:[' + 'LocalStorage' + ']' + '.put: EXCEPTION raised, msg=' + e.detailMessage);
      throw $LocalStorageException(new LocalStorageException(), e.detailMessage);
    }
     else 
      throw $e0;
  }
  logDebug(Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.put, storage:[' + 'LocalStorage' + ']' + '.put: stored with lastrow[' + ('' + lastrow) + ']');
}

function getClass_160(){
  return Lcom_web_1bloks_storage_client_GearsLocalStorageTemplate_2_classLit;
}

function isGearsInstalled(){
  try {
    return $wnd.google.gears.factory != null;
  }
   catch (e) {
    return false;
  }
}

function GearsLocalStorageTemplate(){
}

_ = GearsLocalStorageTemplate.prototype = new Object_0();
_.getClass$ = getClass_160;
_.typeId$ = 0;
_.db = null;
function $GearsOffline(this$static){
  this$static.gh = new GearsOffline$GearsEventHandler();
  return this$static;
}

function $setup_2(this$static, storeName, manifestUrl){
  var $e0, f;
  this$static.storeName = storeName;
  this$static.manifestUrl_0 = manifestUrl;
  f = getInstance();
  if (!f) {
    logInfo(Lcom_web_1bloks_storage_client_GearsOffline_2_classLit + '.setup:  GEARS NOT available');
    return;
  }
  logInfo(Lcom_web_1bloks_storage_client_GearsOffline_2_classLit + '.setup:  GEARS AVAILABLE');
  try {
    this$static.ls = f.create('beta.localserver');
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 38)) {
      this$static.ls = null;
    }
     else 
      throw $e0;
  }
  if (!this$static.ls) {
    logInfo(Lcom_web_1bloks_storage_client_GearsOffline_2_classLit + '.setup:  GEARS AVAILABLE *but* user denied access... probably');
    return;
  }
  this$static.ms = this$static.ls.createManagedStore(this$static.storeName);
  this$static.ms.enabled = true;
  this$static.ms.manifestUrl = this$static.manifestUrl_0;
  $setOnCompleteHandler(this$static.ms, this$static.gh);
  $setOnErrorHandler(this$static.ms, this$static.gh);
  this$static.ms.checkForUpdate();
  logInfo(Lcom_web_1bloks_storage_client_GearsOffline_2_classLit + '.setupGears: init completed, currentVersion[' + this$static.ms.currentVersion + ']');
}

function getClass_162(){
  return Lcom_web_1bloks_storage_client_GearsOffline_2_classLit;
}

function GearsOffline(){
}

_ = GearsOffline.prototype = new Object_0();
_.getClass$ = getClass_162;
_.typeId$ = 0;
_.ls = null;
_.manifestUrl_0 = null;
_.ms = null;
_.storeName = null;
function $onComplete_0(event_0){
  var version;
  version = event_0.newVersion;
  if (null != version && version.length != 0)
    logInfo(Lcom_web_1bloks_storage_client_GearsOffline$GearsEventHandler_2_classLit + '.onComplete, NEW version=' + version);
}

function getClass_161(){
  return Lcom_web_1bloks_storage_client_GearsOffline$GearsEventHandler_2_classLit;
}

function GearsOffline$GearsEventHandler(){
}

_ = GearsOffline$GearsEventHandler.prototype = new Object_0();
_.getClass$ = getClass_161;
_.typeId$ = 0;
function $LocalStorageException(this$static, msg){
  this$static.detailMessage = msg;
  return this$static;
}

function getClass_163(){
  return Lcom_web_1bloks_storage_client_LocalStorageException_2_classLit;
}

function LocalStorageException(){
}

_ = LocalStorageException.prototype = new Exception();
_.getClass$ = getClass_163;
_.typeId$ = 105;
function $RecentList(this$static, tableName){
  this$static.tableName = tableName;
  return this$static;
}

function $getTableName(this$static){
  if (null != this$static.tableName)
    return this$static.tableName;
  return 'RecentList';
}

function $verifyTop(this$static, entry){
  var $e0, e, resultSet, topElement;
  resultSet = null;
  try {
    resultSet = $get_2(this$static, 'entry, meta, created', 3, 'ORDER BY created DESC LIMIT 1');
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 40)) {
      e = $e0;
      logError(Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.getLatest: exception, msg=' + e.detailMessage);
      return true;
    }
     else 
      throw $e0;
  }
  if (!resultSet)
    return true;
  topElement = dynamicCast($get_4(resultSet.arrayList, 0), 41);
  if (null == topElement)
    return true;
  return topElement[0] != entry;
}

function getClass_165(){
  return Lcom_web_1bloks_storage_client_RecentList_2_classLit;
}

function getLatest(count){
  var $e0, e, entry, liste, result, resultSet, it;
  resultSet = null;
  try {
    resultSet = $get_2(this, 'entry, meta, created', 3, 'ORDER BY created DESC LIMIT ' + count);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 40)) {
      e = $e0;
      logError(Lcom_web_1bloks_storage_client_RecentList_2_classLit + '.getLatest: exception, msg=' + e.detailMessage);
      return null;
    }
     else 
      throw $e0;
  }
  if (!resultSet)
    return null;
  result = $Vector(new Vector());
  liste = ($clinit_344() , it = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), resultSet.arrayList) , $Collections$2(new Collections$2(), it));
  while ($hasNext_0(liste.val$it)) {
    e = dynamicCast($next_1(liste.val$it), 41);
    entry = $RecentListEntry_0(new RecentListEntry(), e[0], parseLong(e[2], 10));
    $add_8(result.arrayList, entry);
  }
  return result;
}

function insertEntry(entry, meta){
  var $e0, now, result, values, currentTime;
  if (!$verifyTop(this, entry))
    return true;
  now = (currentTime = new Date() , currentTime.getTime());
  values = initDim(_3Ljava_lang_String_2_classLit, 159, 1, 3, 0);
  values[0] = entry;
  values[1] = meta;
  values[2] = '' + now;
  result = true;
  try {
    $put_0(this, 'entry, meta, created', values);
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 40)) {
      result = false;
    }
     else 
      throw $e0;
  }
  return result;
}

function RecentList(){
}

_ = RecentList.prototype = new GearsLocalStorageTemplate();
_.getClass$ = getClass_165;
_.getLatest = getLatest;
_.insertEntry = insertEntry;
_.typeId$ = 0;
_.tableName = null;
function $RecentListEntry(this$static, entry){
  var currentTime;
  this$static.entry = entry;
  currentTime = new Date();
  currentTime.getTime();
  return this$static;
}

function $RecentListEntry_0(this$static, entry){
  this$static.entry = entry;
  return this$static;
}

function getClass_164(){
  return Lcom_web_1bloks_storage_client_RecentListEntry_2_classLit;
}

function RecentListEntry(){
}

_ = RecentListEntry.prototype = new Object_0();
_.getClass$ = getClass_164;
_.typeId$ = 106;
_.entry = null;
function $SimpleRecentList(this$static){
  this$static.rl = $Vector(new Vector());
  return this$static;
}

function getClass_166(){
  return Lcom_web_1bloks_storage_client_SimpleRecentList_2_classLit;
}

function getLatest_0(count){
  return this.rl;
}

function insertEntry_0(entry, meta){
  if (this.last != entry)
    $add_8(this.rl.arrayList, $RecentListEntry(new RecentListEntry(), entry));
  this.last = entry;
  return true;
}

function SimpleRecentList(){
}

_ = SimpleRecentList.prototype = new Object_0();
_.getClass$ = getClass_166;
_.getLatest = getLatest_0;
_.insertEntry = insertEntry_0;
_.typeId$ = 0;
_.last = null;
function logDebug(msg){
  if (!(typeof console != 'undefined'))
    return;
  console.info(msg);
}

function logError(msg){
  if (!(typeof console != 'undefined'))
    return;
  console.error(msg);
}

function logInfo(msg){
  if (!(typeof console != 'undefined'))
    return;
  console.info(msg);
}

function logWarn(msg){
  if (!(typeof console != 'undefined'))
    return;
  console.warn(msg);
}

function $SimpleMap(this$static){
  this$static.obj = $JSONObject(new JSONObject());
  return this$static;
}

function $getKey(this$static, key){
  var $e0, v;
  try {
    v = $get_0(this$static.obj, key);
    if (!v)
      return '';
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 38)) {
      logWarn('SimpleMap.getKey: tried accessing key[' + key + ']');
      return '';
    }
     else 
      throw $e0;
  }
  return v.isString().value_0;
}

function $nextStringPair(this$static){
  var jsvalue, key, value, entry;
  key = dynamicCast((entry = dynamicCast($next_1(this$static.iterator.val$outerIter.iter), 4) , entry.getKey()), 1);
  jsvalue = $get_0(this$static.obj, key);
  value = jsvalue.isString();
  return initValues(_3Ljava_lang_String_2_classLit, 159, 1, [key, value.value_0]);
}

function $reset(this$static){
  var outerIter;
  this$static.keyset = null;
  this$static.keyset = $keySet(this$static.obj);
  this$static.iterator = (outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), $keySet_0(this$static.keyset.map).val$entrySet.this$0) , $AbstractMap$1$1(new AbstractMap$1$1(), outerIter));
}

function getClass_167(){
  return Lcom_web_1bloks_types_client_SimpleMap_2_classLit;
}

function SimpleMap(){
}

_ = SimpleMap.prototype = new Object_0();
_.getClass$ = getClass_167;
_.typeId$ = 0;
_.iterator = null;
_.keyset = null;
_.obj = null;
function $clinit_263(){
  $clinit_263 = nullMethod;
  $StateType(new StateType(), 'NA', 0);
  OK_0 = $StateType(new StateType(), 'OK', 1);
  PENDING = $StateType(new StateType(), 'PENDING', 2);
  $StateType(new StateType(), 'WARNING', 3);
  ERROR = $StateType(new StateType(), 'ERROR', 4);
}

function $StateType(this$static, enum$name, enum$ordinal){
  $clinit_263();
  this$static.name_0 = enum$name;
  this$static.ordinal = enum$ordinal;
  return this$static;
}

function getClass_168(){
  return Lcom_web_1bloks_types_client_StateType_2_classLit;
}

function StateType(){
}

_ = StateType.prototype = new Enum();
_.getClass$ = getClass_168;
_.typeId$ = 107;
var ERROR, OK_0, PENDING;
function extractAndMapQuery(query){
  var el, i, pairs, result;
  if (null == query)
    return null;
  pairs = $split(query, '&', 0);
  if (null == pairs)
    return null;
  result = $HashMap(new HashMap());
  for (i = 0; i < pairs.length; ++i) {
    el = $split(pairs[i], '=', 0);
    if (null == el)
      continue;
    dynamicCast($put_1(result, el[0], el[1]), 1);
  }
  return result;
}

function extractFieldsFromHistoryToken(token){
  var qindex, queryStr, uf;
  uf = new UrlFields();
  if (token == null || token.length == 0)
    return null;
  queryStr = null;
  qindex = token.indexOf(fromCodePoint(63));
  if (qindex == -1) {
    uf.page = token;
    return uf;
  }
  queryStr = $substring_0(token, qindex + 1, token.length);
  uf.page = token.substr(0, qindex - 0);
  uf.query = queryStr;
  return uf;
}

function extractFieldsFromLocation(){
  var hashStr, hindex, hs, qindex, uf, s;
  uf = new UrlFields();
  hs = (s = $doc.location.href , decodeURI(s));
  hashStr = null;
  hindex = hs.indexOf(fromCodePoint(35));
  if (hindex != -1) {
    hashStr = $substring_0(hs, hindex + 1, hs.length);
  }
   else {
    return null;
  }
  uf.page = hashStr;
  qindex = hashStr.indexOf(fromCodePoint(63));
  if (qindex == -1) {
    return uf;
  }
  uf.page = hashStr.substr(0, qindex - 0);
  uf.query = hashStr.substr(qindex + 1, hashStr.length - (qindex + 1));
  return uf;
}

function getClass_169(){
  return Lcom_web_1bloks_url_client_UrlFields_2_classLit;
}

function toString_15(){
  if (null != this.query) {
    return this.page + '?' + this.query;
  }
  return this.page;
}

function UrlFields(){
}

_ = UrlFields.prototype = new Object_0();
_.getClass$ = getClass_169;
_.toString$ = toString_15;
_.typeId$ = 0;
_.page = null;
_.query = null;
function $User(this$static){
  this$static.params = $SimpleMap(new SimpleMap());
  return this$static;
}

function $getParam(this$static, key){
  if (!$containsKey(this$static.params.obj, key))
    return null;
  return $getKey(this$static.params, key);
}

function $initFromJSON(this$static, value){
  var $e0, e, obj;
  if (!value)
    return;
  obj = null;
  try {
    obj = value.isObject();
    $put(this$static.params.obj, 'name', $JSONString(new JSONString(), $get_0(obj, 'username').isString().value_0));
    $put(this$static.params.obj, 'groups', $JSONString(new JSONString(), $get_0(obj, 'groups').isString().value_0));
    $put(this$static.params.obj, 'login_url', $JSONString(new JSONString(), $get_0(obj, 'login_url').isString().value_0));
    $put(this$static.params.obj, 'logout_url', $JSONString(new JSONString(), $get_0(obj, 'logout_url').isString().value_0));
  }
   catch ($e0) {
    $e0 = caught($e0);
    if (instanceOf($e0, 38)) {
      e = $e0;
      logWarn('User.fromJSON: error extracting parameters, msg=' + e.detailMessage);
    }
     else 
      throw $e0;
  }
}

function $isMemberOf(this$static, group){
  var groups, groups_list, i;
  if (!('groups' in this$static.params.obj.jsObject))
    return false;
  groups_list = $getKey(this$static.params, 'groups');
  if (groups_list == null)
    return false;
  if (groups_list.length == 0)
    return false;
  groups = $split(groups_list, ',', 0);
  for (i = 0; i < groups.length; ++i) {
    if (groups[i].indexOf(group) != -1)
      return true;
  }
  return false;
}

function getClass_170(){
  return Lcom_web_1bloks_user_client_User_2_classLit;
}

function User(){
}

_ = User.prototype = new Object_0();
_.getClass$ = getClass_170;
_.typeId$ = 0;
_.loginState = false;
_.params = null;
function $getCurrentUser(){
  if (!current) {
    current = $User(new User());
  }
  return current;
}

var current = null;
function fixForHistory(e){
  e.onclick = function(){
    var href = e.href.split('#')[1];
    $clinit_75();
    newItem_0(href, true);
  }
  ;
}

function updateAnchors(){
  var anchors, doc, e, href, i;
  doc = $doc;
  anchors = doc.getElementsByTagName('a');
  if (!anchors)
    return;
  for (i = 0; i < anchors.length; ++i) {
    e = anchors[i];
    href = e.getAttribute('href') || '';
    if (href.indexOf(fromCodePoint(35)) != -1)
      fixForHistory(e);
  }
}

function substitute(source, params){
  var index, iter, key, keys, result, value, entrySet, outerIter, entry;
  result = source;
  keys = (entrySet = $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), params) , $AbstractMap$1(new AbstractMap$1(), params, entrySet));
  iter = (outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), keys.val$entrySet.this$0) , $AbstractMap$1$1(new AbstractMap$1$1(), outerIter));
  value = null;
  index = -1;
  while ($hasNext_0(iter.val$outerIter.iter)) {
    key = dynamicCast((entry = dynamicCast($next_1(iter.val$outerIter.iter), 4) , entry.getKey()), 1);
    value = dynamicCast(key == null?params.nullSlot:key != null?params.stringMap[':' + key]:$getHashValue(params, key, ~~getHashCode_0(key)), 1);
    index = source.indexOf(key);
    if (-1 == index) {
      continue;
    }
    $replaceAll(result, key, value);
  }
  return result;
}

function $clinit_272(){
  $clinit_272 = nullMethod;
  $clinit_90();
}

function $EditPageWidget(this$static){
  var p;
  $clinit_272();
  $Anchor(this$static);
  $clinit_286();
  p = null;
  $setTitle(this$static, 'Edit page');
  p = edit_page_SINGLETON;
  this$static.img = $Image(new Image_0(), p.url, p.left, p.top, p.width_0, p.height_0);
  this$static.element.appendChild(this$static.img.element);
  return this$static;
}

function $setPageName(this$static, page){
  var href;
  if (null == this$static.api) {
    logWarn(Lcom_web_1bloks_widget_client_EditPageWidget_2_classLit + '.setPageName: API URL not set');
    return;
  }
  href = $replaceAll(this$static.api, '{{page}}', page);
  this$static.element.href = href;
}

function getClass_171(){
  return Lcom_web_1bloks_widget_client_EditPageWidget_2_classLit;
}

function EditPageWidget(){
}

_ = EditPageWidget.prototype = new Anchor();
_.getClass$ = getClass_171;
_.typeId$ = 108;
_.api = null;
_.img = null;
function $clinit_273(){
  $clinit_273 = nullMethod;
  $clinit_90();
}

function $GearsStatus(this$static){
  $clinit_273();
  $Anchor(this$static);
  $setup_3(this$static);
  return this$static;
}

function $setup_3(this$static){
  var p;
  $clinit_286();
  p = null;
  if (isGearsInstalled_0()) {
    p = gears_SINGLETON;
    this$static.element.href = '#Gears';
    $setTitle(this$static, 'Google Gears available');
  }
   else {
    p = gears_grey_SINGLETON;
    this$static.element.href = 'http://gears.google.com/';
    $setTitle(this$static, 'Install Google Gears');
  }
  this$static.img = $Image(new Image_0(), p.url, p.left, p.top, p.width_0, p.height_0);
  this$static.element.appendChild(this$static.img.element);
}

function getClass_172(){
  return Lcom_web_1bloks_widget_client_GearsStatus_2_classLit;
}

function isGearsInstalled_0(){
  try {
    return $wnd.google.gears.factory != null;
  }
   catch (e) {
    return false;
  }
}

function GearsStatus(){
}

_ = GearsStatus.prototype = new Anchor();
_.getClass$ = getClass_172;
_.typeId$ = 109;
_.img = null;
function $clinit_274(){
  $clinit_274 = nullMethod;
  IMAGE_BUNDLE_URL_1 = $moduleBase + '635BC413279A55E6FBE4484DE6EA5FE1.cache.png';
  bold_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 340, 0, 20, 20);
  createLink_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 320, 0, 20, 20);
  hr_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 300, 0, 20, 20);
  indent_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 280, 0, 20, 20);
  insertImage_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 260, 0, 20, 20);
  italic_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 240, 0, 20, 20);
  justifyCenter_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 220, 0, 20, 20);
  justifyLeft_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 200, 0, 20, 20);
  justifyRight_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 180, 0, 20, 20);
  ol_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 160, 0, 20, 20);
  outdent_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 140, 0, 20, 20);
  removeFormat_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 120, 0, 20, 20);
  removeLink_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 100, 0, 20, 20);
  strikeThrough_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 80, 0, 20, 20);
  subscript_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 60, 0, 20, 20);
  superscript_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 40, 0, 20, 20);
  ul_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 20, 0, 20, 20);
  underline_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_1, 0, 0, 20, 20);
}

var IMAGE_BUNDLE_URL_1, bold_SINGLETON, createLink_SINGLETON, hr_SINGLETON, indent_SINGLETON, insertImage_SINGLETON, italic_SINGLETON, justifyCenter_SINGLETON, justifyLeft_SINGLETON, justifyRight_SINGLETON, ol_SINGLETON, outdent_SINGLETON, removeFormat_SINGLETON, removeLink_SINGLETON, strikeThrough_SINGLETON, subscript_SINGLETON, superscript_SINGLETON, ul_SINGLETON, underline_SINGLETON;
function $clinit_275(){
  $clinit_275 = nullMethod;
  $clinit_90();
}

function $ImgAnchor(this$static){
  $clinit_275();
  $Anchor(this$static);
  return this$static;
}

function $setImg(this$static, img){
  this$static.img = img;
  this$static.element.appendChild(this$static.img.element);
  this$static.img.element.style.display = '';
}

function getClass_173(){
  return Lcom_web_1bloks_widget_client_ImgAnchor_2_classLit;
}

function ImgAnchor(){
}

_ = ImgAnchor.prototype = new Anchor();
_.getClass$ = getClass_173;
_.typeId$ = 110;
_.img = null;
function $LoginLogoutWidget(this$static){
  var ilogin, ilogout;
  $FlexTable(this$static);
  $clinit_276();
  $clinit_286();
  ilogin = $createImage(login_SINGLETON);
  ilogout = $createImage(logout_SINGLETON);
  this$static.login = $ImgAnchor(new ImgAnchor());
  this$static.logout = $ImgAnchor(new ImgAnchor());
  $setImg(this$static.login, ilogin);
  $setImg(this$static.logout, ilogout);
  $setTitle(this$static.login, 'Log-in');
  $setTitle(this$static.logout, 'Log-out');
  $setWidget(this$static, 0, 0, this$static.login);
  $setWidget(this$static, 0, 1, this$static.logout);
  $setState(this$static, login);
  return this$static;
}

function $setState(this$static, state){
  switch (state.ordinal) {
    case 0:
      this$static.login.element.style.display = '';
      this$static.logout.element.style.display = 'none';
      break;
    case 1:
      this$static.login.element.style.display = 'none';
      this$static.logout.element.style.display = '';
      break;
    default:throw $RuntimeException(new RuntimeException(), 'invalid state');
  }
  $setUrls(this$static);
}

function $setUrls(this$static){
  if (null != this$static.loginUrl) {
    this$static.login.element.href = this$static.loginUrl;
  }
  if (null != this$static.logoutUrl) {
    this$static.logout.element.href = this$static.logoutUrl;
  }
}

function getClass_175(){
  return Lcom_web_1bloks_widget_client_LoginLogoutWidget_2_classLit;
}

function LoginLogoutWidget(){
}

_ = LoginLogoutWidget.prototype = new FlexTable();
_.getClass$ = getClass_175;
_.typeId$ = 111;
_.login = null;
_.loginUrl = null;
_.logout = null;
_.logoutUrl = null;
function $clinit_276(){
  $clinit_276 = nullMethod;
  login = $LoginLogoutWidget$State(new LoginLogoutWidget$State(), 'login', 0);
  logout = $LoginLogoutWidget$State(new LoginLogoutWidget$State(), 'logout', 1);
}

function $LoginLogoutWidget$State(this$static, enum$name, enum$ordinal){
  $clinit_276();
  this$static.name_0 = enum$name;
  this$static.ordinal = enum$ordinal;
  return this$static;
}

function getClass_174(){
  return Lcom_web_1bloks_widget_client_LoginLogoutWidget$State_2_classLit;
}

function LoginLogoutWidget$State(){
}

_ = LoginLogoutWidget$State.prototype = new Enum();
_.getClass$ = getClass_174;
_.typeId$ = 112;
var login, logout;
function $clinit_278(){
  $clinit_278 = nullMethod;
  $clinit_90();
}

function $LogoWidget(this$static){
  var p;
  $clinit_278();
  $Anchor(this$static);
  $clinit_286();
  p = null;
  $setTitle(this$static, 'Web-Bloks');
  p = logo_SINGLETON;
  this$static.img = $Image(new Image_0(), p.url, p.left, p.top, p.width_0, p.height_0);
  this$static.element.appendChild(this$static.img.element);
  return this$static;
}

function getClass_176(){
  return Lcom_web_1bloks_widget_client_LogoWidget_2_classLit;
}

function LogoWidget(){
}

_ = LogoWidget.prototype = new Anchor();
_.getClass$ = getClass_176;
_.typeId$ = 113;
_.img = null;
function $RecentListWidget(this$static, tableName){
  this$static.sp = $SimplePanel(new SimplePanel());
  this$static.lb = $ListBox(new ListBox());
  this$static.gears_rl = $RecentList(new RecentList(), tableName);
  $add_2(this$static.sp, this$static.lb);
  $setSize_0(this$static.lb, '100%', '100%');
  $initWidget(this$static, this$static.sp);
  this$static.lb.element.size = 25;
  $setupStore(this$static);
  $loadView(this$static);
  return this$static;
}

function $addEntry(this$static, entry, meta){
  this$static.liste.insertEntry(entry, meta);
  $insertItem(this$static.lb, entry, 0);
}

function $loadView(this$static){
  var e, entry, i, l, it;
  l = this$static.liste.getLatest(25);
  if (!l)
    return;
  e = ($clinit_344() , it = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), l.arrayList) , $Collections$2(new Collections$2(), it));
  if (!e)
    return;
  for (i = 0; i < 25; ++i) {
    if ($hasNext_0(e.val$it)) {
      entry = dynamicCast($next_1(e.val$it), 42);
      $addItem(this$static.lb, entry.entry);
    }
  }
}

function $setupStore(this$static){
  var $e0, except;
  if (isGearsInstalled()) {
    except = false;
    try {
      $initialize(this$static.gears_rl);
    }
     catch ($e0) {
      $e0 = caught($e0);
      if (instanceOf($e0, 40)) {
        except = true;
      }
       else if (instanceOf($e0, 38)) {
        except = true;
      }
       else 
        throw $e0;
    }
    if (except)
      this$static.liste = $SimpleRecentList(new SimpleRecentList());
    else 
      this$static.liste = this$static.gears_rl;
    return;
  }
  this$static.liste = $SimpleRecentList(new SimpleRecentList());
}

function getClass_177(){
  return Lcom_web_1bloks_widget_client_RecentListWidget_2_classLit;
}

function RecentListWidget(){
}

_ = RecentListWidget.prototype = new Composite();
_.getClass$ = getClass_177;
_.typeId$ = 114;
_.gears_rl = null;
_.liste = null;
function $clinit_281(){
  $clinit_281 = nullMethod;
  fontSizesConstants = initValues(_3Lcom_google_gwt_user_client_ui_RichTextArea$FontSize_2_classLit, 0, 51, [($clinit_148() , XX_SMALL), X_SMALL, SMALL, MEDIUM, LARGE, X_LARGE, XX_LARGE]);
}

function $RichTextToolbarWidget(this$static, richText){
  var lb_5, lb_6;
  $clinit_281();
  $clinit_274();
  this$static.listener = $RichTextToolbarWidget$EventListener(new RichTextToolbarWidget$EventListener(), this$static);
  this$static.outer_0 = $VerticalPanel(new VerticalPanel());
  this$static.topPanel = $HorizontalPanel(new HorizontalPanel());
  this$static.bottomPanel = $HorizontalPanel(new HorizontalPanel());
  this$static.richText = richText;
  this$static.basic = $getBasicFormatter(richText);
  this$static.extended = $getExtendedFormatter(richText);
  $add_5(this$static.outer_0, this$static.topPanel);
  $add_5(this$static.outer_0, this$static.bottomPanel);
  this$static.topPanel.element.style['width'] = '100%';
  this$static.bottomPanel.element.style['width'] = '100%';
  $initWidget(this$static, this$static.outer_0);
  this$static.element['className'] = 'gwt-RichTextToolbar';
  setStyleName(richText.element, 'hasRichTextToolbar', true);
  if (this$static.basic) {
    $add_1(this$static.topPanel, this$static.bold = $createToggleButton(this$static, bold_SINGLETON, 'Toggle Bold'));
    $add_1(this$static.topPanel, this$static.italic = $createToggleButton(this$static, italic_SINGLETON, 'Toggle Italic'));
    $add_1(this$static.topPanel, this$static.underline = $createToggleButton(this$static, underline_SINGLETON, 'Toggle Underline'));
    $add_1(this$static.topPanel, this$static.subscript = $createToggleButton(this$static, subscript_SINGLETON, 'Toggle Subscript'));
    $add_1(this$static.topPanel, this$static.superscript = $createToggleButton(this$static, superscript_SINGLETON, 'Toggle Superscript'));
    $add_1(this$static.topPanel, this$static.justifyLeft = $createPushButton(this$static, justifyLeft_SINGLETON, 'Left Justify'));
    $add_1(this$static.topPanel, this$static.justifyCenter = $createPushButton(this$static, justifyCenter_SINGLETON, 'Center'));
    $add_1(this$static.topPanel, this$static.justifyRight = $createPushButton(this$static, justifyRight_SINGLETON, 'Right Justify'));
  }
  if (this$static.extended) {
    $add_1(this$static.topPanel, this$static.strikethrough = $createToggleButton(this$static, strikeThrough_SINGLETON, 'Toggle Strikethrough'));
    $add_1(this$static.topPanel, this$static.indent = $createPushButton(this$static, indent_SINGLETON, 'Indent Right'));
    $add_1(this$static.topPanel, this$static.outdent = $createPushButton(this$static, outdent_SINGLETON, 'Indent Left'));
    $add_1(this$static.topPanel, this$static.hr = $createPushButton(this$static, hr_SINGLETON, 'Insert Horizontal Rule'));
    $add_1(this$static.topPanel, this$static.ol = $createPushButton(this$static, ol_SINGLETON, 'Insert Ordered List'));
    $add_1(this$static.topPanel, this$static.ul = $createPushButton(this$static, ul_SINGLETON, 'Insert Unordered List'));
    $add_1(this$static.topPanel, this$static.insertImage = $createPushButton(this$static, insertImage_SINGLETON, 'Insert Image'));
    $add_1(this$static.topPanel, this$static.createLink = $createPushButton(this$static, createLink_SINGLETON, 'Create Link'));
    $add_1(this$static.topPanel, this$static.removeLink = $createPushButton(this$static, removeLink_SINGLETON, 'Remove Link'));
    $add_1(this$static.topPanel, this$static.removeFormat = $createPushButton(this$static, removeFormat_SINGLETON, 'Remove Formatting'));
  }
  if (this$static.basic) {
    $add_1(this$static.bottomPanel, this$static.backColors = $createColorList(this$static, 'Background'));
    $add_1(this$static.bottomPanel, this$static.foreColors = $createColorList(this$static, 'Foreground'));
    $add_1(this$static.bottomPanel, this$static.fonts = (lb_5 = $ListBox(new ListBox()) , $addChangeListener(lb_5, this$static.listener) , (lb_5.element.size = 1 , undefined) , $insertItem_0(lb_5, 'Font', '', -1) , $insertItem_0(lb_5, 'Normal', '', -1) , $insertItem_0(lb_5, 'Times New Roman', 'Times New Roman', -1) , $insertItem_0(lb_5, 'Arial', 'Arial', -1) , $insertItem_0(lb_5, 'Courier New', 'Courier New', -1) , $insertItem_0(lb_5, 'Georgia', 'Georgia', -1) , $insertItem_0(lb_5, 'Trebuchet', 'Trebuchet', -1) , $insertItem_0(lb_5, 'Verdana', 'Verdana', -1) , lb_5));
    $add_1(this$static.bottomPanel, this$static.fontSizes = (lb_6 = $ListBox(new ListBox()) , $addChangeListener(lb_6, this$static.listener) , (lb_6.element.size = 1 , undefined) , $insertItem_0(lb_6, 'Size', 'Size', -1) , $insertItem_0(lb_6, 'XX-Small', 'XX-Small', -1) , $insertItem_0(lb_6, 'X-Small', 'X-Small', -1) , $insertItem_0(lb_6, 'Small', 'Small', -1) , $insertItem_0(lb_6, 'Medium', 'Medium', -1) , $insertItem_0(lb_6, 'Large', 'Large', -1) , $insertItem_0(lb_6, 'X-Large', 'X-Large', -1) , $insertItem_0(lb_6, 'XX-Large', 'XX-Large', -1) , lb_6));
    $addKeyboardListener(richText, this$static.listener);
    $addClickListener(richText, this$static.listener);
  }
  return this$static;
}

function $createColorList(this$static, caption){
  var lb;
  lb = $ListBox(new ListBox());
  $addChangeListener(lb, this$static.listener);
  lb.element.size = 1;
  $insertItem_0(lb, caption, caption, -1);
  $insertItem_0(lb, 'White', 'white', -1);
  $insertItem_0(lb, 'Black', 'black', -1);
  $insertItem_0(lb, 'Red', 'red', -1);
  $insertItem_0(lb, 'Green', 'green', -1);
  $insertItem_0(lb, 'Yellow', 'yellow', -1);
  $insertItem_0(lb, 'Blue', 'blue', -1);
  return lb;
}

function $createPushButton(this$static, img, tip){
  var pb;
  pb = $PushButton(new PushButton(), $Image(new Image_0(), img.url, img.left, img.top, img.width_0, img.height_0));
  $addClickListener(pb, this$static.listener);
  $setTitle(pb, tip);
  return pb;
}

function $createToggleButton(this$static, img, tip){
  var tb;
  tb = $ToggleButton(new ToggleButton(), $Image(new Image_0(), img.url, img.left, img.top, img.width_0, img.height_0));
  $addClickListener(tb, this$static.listener);
  $setTitle(tb, tip);
  return tb;
}

function $updateStatus(this$static){
  if (this$static.basic) {
    $setDown(this$static.bold, $queryCommandState(this$static.basic, 'Bold'));
    $setDown(this$static.italic, $queryCommandState(this$static.basic, 'Italic'));
    $setDown(this$static.underline, $queryCommandState(this$static.basic, 'Underline'));
    $setDown(this$static.subscript, $queryCommandState(this$static.basic, 'Subscript'));
    $setDown(this$static.superscript, $queryCommandState(this$static.basic, 'Superscript'));
  }
  if (this$static.extended) {
    $setDown(this$static.strikethrough, $queryCommandState(this$static.extended, 'Strikethrough'));
  }
}

function getClass_179(){
  return Lcom_web_1bloks_widget_client_RichTextToolbarWidget_2_classLit;
}

function RichTextToolbarWidget(){
}

_ = RichTextToolbarWidget.prototype = new Composite();
_.getClass$ = getClass_179;
_.typeId$ = 115;
_.backColors = null;
_.basic = null;
_.bold = null;
_.createLink = null;
_.extended = null;
_.fontSizes = null;
_.fonts = null;
_.foreColors = null;
_.hr = null;
_.indent = null;
_.insertImage = null;
_.italic = null;
_.justifyCenter = null;
_.justifyLeft = null;
_.justifyRight = null;
_.ol = null;
_.outdent = null;
_.removeFormat = null;
_.removeLink = null;
_.richText = null;
_.strikethrough = null;
_.subscript = null;
_.superscript = null;
_.ul = null;
_.underline = null;
var fontSizesConstants;
function $RichTextToolbarWidget$EventListener(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_178(){
  return Lcom_web_1bloks_widget_client_RichTextToolbarWidget$EventListener_2_classLit;
}

function onChange_1(sender){
  if (sender == this.this$0.backColors) {
    $execCommand(this.this$0.basic, 'HiliteColor', $getValue_0(this.this$0.backColors, this.this$0.backColors.element.selectedIndex));
    this.this$0.backColors.element.selectedIndex = 0;
  }
   else if (sender == this.this$0.foreColors) {
    $execCommand(this.this$0.basic, 'ForeColor', $getValue_0(this.this$0.foreColors, this.this$0.foreColors.element.selectedIndex));
    this.this$0.foreColors.element.selectedIndex = 0;
  }
   else if (sender == this.this$0.fonts) {
    $execCommand(this.this$0.basic, 'FontName', $getValue_0(this.this$0.fonts, this.this$0.fonts.element.selectedIndex));
    this.this$0.fonts.element.selectedIndex = 0;
  }
   else if (sender == this.this$0.fontSizes) {
    $execCommand(this.this$0.basic, 'FontSize', '' + ($clinit_281() , fontSizesConstants)[this.this$0.fontSizes.element.selectedIndex - 1].number);
    this.this$0.fontSizes.element.selectedIndex = 0;
  }
}

function onClick_6(sender){
  var url;
  if (sender == this.this$0.bold) {
    $execCommand(this.this$0.basic, 'Bold', 'false');
  }
   else if (sender == this.this$0.italic) {
    $execCommand(this.this$0.basic, 'Italic', 'false');
  }
   else if (sender == this.this$0.underline) {
    $execCommand(this.this$0.basic, 'Underline', 'False');
  }
   else if (sender == this.this$0.subscript) {
    $execCommand(this.this$0.basic, 'Subscript', 'false');
  }
   else if (sender == this.this$0.superscript) {
    $execCommand(this.this$0.basic, 'Superscript', 'false');
  }
   else if (sender == this.this$0.strikethrough) {
    $execCommand(this.this$0.extended, 'Strikethrough', 'false');
  }
   else if (sender == this.this$0.indent) {
    $execCommand(this.this$0.extended, 'Indent', null);
  }
   else if (sender == this.this$0.outdent) {
    $execCommand(this.this$0.extended, 'Outdent', null);
  }
   else if (sender == this.this$0.justifyLeft) {
    $setJustification(this.this$0.basic, ($clinit_149() , LEFT));
  }
   else if (sender == this.this$0.justifyCenter) {
    $setJustification(this.this$0.basic, ($clinit_149() , CENTER));
  }
   else if (sender == this.this$0.justifyRight) {
    $setJustification(this.this$0.basic, ($clinit_149() , RIGHT));
  }
   else if (sender == this.this$0.insertImage) {
    url = $wnd.prompt('Enter an image URL:', 'http://');
    if (url != null) {
      $execCommand(this.this$0.extended, 'InsertImage', url);
    }
  }
   else if (sender == this.this$0.createLink) {
    url = $wnd.prompt('Enter a link URL:', 'http://');
    if (url != null) {
      $execCommand(this.this$0.extended, 'CreateLink', url);
    }
  }
   else if (sender == this.this$0.removeLink) {
    $execCommand(this.this$0.extended, 'Unlink', 'false');
  }
   else if (sender == this.this$0.hr) {
    $execCommand(this.this$0.extended, 'InsertHorizontalRule', null);
  }
   else if (sender == this.this$0.ol) {
    $execCommand(this.this$0.extended, 'InsertOrderedList', null);
  }
   else if (sender == this.this$0.ul) {
    $execCommand(this.this$0.extended, 'InsertUnorderedList', null);
  }
   else if (sender == this.this$0.removeFormat) {
    $execCommand(this.this$0.extended, 'RemoveFormat', null);
  }
   else if (sender == this.this$0.richText) {
    $updateStatus(this.this$0);
  }
}

function onKeyDown_0(sender, keyCode, modifiers){
}

function onKeyPress_0(sender, keyCode, modifiers){
}

function onKeyUp_0(sender, keyCode, modifiers){
  if (sender == this.this$0.richText) {
    $updateStatus(this.this$0);
  }
}

function RichTextToolbarWidget$EventListener(){
}

_ = RichTextToolbarWidget$EventListener.prototype = new Object_0();
_.getClass$ = getClass_178;
_.onChange = onChange_1;
_.onClick_0 = onClick_6;
_.onKeyDown = onKeyDown_0;
_.onKeyPress = onKeyPress_0;
_.onKeyUp = onKeyUp_0;
_.typeId$ = 116;
_.this$0 = null;
function $StatusWidget(this$static){
  $FlexTable(this$static);
  $clinit_286();
  this$static.na = $createImage(blank_SINGLETON);
  this$static.ok = $createImage(ok_SINGLETON);
  this$static.warning = $createImage(warning_SINGLETON);
  this$static.pending = $createImage(pending_SINGLETON);
  this$static.error_0 = $createImage(error_SINGLETON);
  $setTitle(this$static.na, '');
  $setTitle(this$static.ok, 'OK');
  $setTitle(this$static.warning, 'Warning!');
  $setTitle(this$static.pending, 'Pending...');
  $setTitle(this$static.error_0, 'Error!');
  $setWidget(this$static, 0, 0, this$static.na);
  $setWidget(this$static, 0, 1, this$static.ok);
  $setWidget(this$static, 0, 2, this$static.warning);
  $setWidget(this$static, 0, 3, this$static.pending);
  $setWidget(this$static, 0, 4, this$static.error_0);
  $setStatus(this$static, ($clinit_263() , OK_0));
  return this$static;
}

function $setStatus(this$static, status){
  this$static.na.element.style.display = 'none';
  this$static.ok.element.style.display = 'none';
  this$static.warning.element.style.display = 'none';
  this$static.pending.element.style.display = 'none';
  this$static.error_0.element.style.display = 'none';
  switch (status.ordinal) {
    case 0:
      this$static.na.element.style.display = '';
      break;
    case 1:
      this$static.ok.element.style.display = '';
      break;
    case 3:
      this$static.warning.element.style.display = '';
      break;
    case 2:
      this$static.pending.element.style.display = '';
      break;
    case 4:
      this$static.error_0.element.style.display = '';
  }
}

function getClass_180(){
  return Lcom_web_1bloks_widget_client_StatusWidget_2_classLit;
}

function StatusWidget(){
}

_ = StatusWidget.prototype = new FlexTable();
_.getClass$ = getClass_180;
_.typeId$ = 117;
_.error_0 = null;
_.na = null;
_.ok = null;
_.pending = null;
_.warning = null;
function $UserMessageWidget(this$static, msg){
  $Label_0(this$static, $doc.createElement('div'));
  this$static.element['className'] = 'gwt-HTML';
  this$static.element.innerHTML = msg || '';
  return this$static;
}

function $sendMessage(this$static, msg){
  this$static.element.innerHTML = msg || '';
  $updateTimer(this$static);
}

function $updateTimer(this$static){
  if (this$static.timer) {
    $cancel_1(this$static.timer);
    this$static.timer = null;
  }
  this$static.timer = $UserMessageWidget$1(new UserMessageWidget$1(), this$static);
  $schedule(this$static.timer, 10000);
}

function getClass_182(){
  return Lcom_web_1bloks_widget_client_UserMessageWidget_2_classLit;
}

function UserMessageWidget(){
}

_ = UserMessageWidget.prototype = new HTML();
_.getClass$ = getClass_182;
_.typeId$ = 118;
_.timer = null;
function $clinit_283(){
  $clinit_283 = nullMethod;
  $clinit_77();
}

function $UserMessageWidget$1(this$static, this$0){
  $clinit_283();
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_181(){
  return Lcom_web_1bloks_widget_client_UserMessageWidget$1_2_classLit;
}

function run_3(){
  this.this$0.element.innerHTML = '';
}

function UserMessageWidget$1(){
}

_ = UserMessageWidget$1.prototype = new Timer();
_.getClass$ = getClass_181;
_.run = run_3;
_.typeId$ = 119;
_.this$0 = null;
function $clinit_285(){
  $clinit_285 = nullMethod;
  $clinit_90();
}

function $ViewSourceWidget(this$static){
  var p;
  $clinit_285();
  $Anchor(this$static);
  $clinit_286();
  p = null;
  $setTitle(this$static, 'View source');
  p = view_source_SINGLETON;
  this$static.img = $Image(new Image_0(), p.url, p.left, p.top, p.width_0, p.height_0);
  this$static.element.appendChild(this$static.img.element);
  return this$static;
}

function $setPageName_0(this$static, page){
  var href;
  if (null == this$static.api) {
    logWarn(Lcom_web_1bloks_widget_client_ViewSourceWidget_2_classLit + '.setPageName: API URL not set');
    return;
  }
  href = $replaceAll(this$static.api, '{{page}}', page);
  this$static.element.href = href;
}

function getClass_183(){
  return Lcom_web_1bloks_widget_client_ViewSourceWidget_2_classLit;
}

function ViewSourceWidget(){
}

_ = ViewSourceWidget.prototype = new Anchor();
_.getClass$ = getClass_183;
_.typeId$ = 120;
_.api = null;
_.img = null;
function $clinit_286(){
  $clinit_286 = nullMethod;
  IMAGE_BUNDLE_URL_2 = $moduleBase + 'EC4E898073790E0EA9035E3466D05A3C.cache.png';
  blank_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 495, 0, 32, 32);
  $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 463, 0, 32, 32);
  edit_page_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 431, 0, 32, 32);
  error_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 399, 0, 32, 32);
  gears_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 38, 0, 38, 43);
  gears_grey_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 0, 0, 38, 43);
  $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 76, 0, 35, 35);
  login_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 367, 0, 32, 32);
  logo_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 335, 0, 32, 32);
  logout_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 303, 0, 32, 32);
  ok_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 271, 0, 32, 32);
  pending_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 239, 0, 32, 32);
  $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 207, 0, 32, 32);
  $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 175, 0, 32, 32);
  $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 527, 15, 15, 15);
  $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 527, 0, 15, 15);
  view_source_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 143, 0, 32, 32);
  warning_SINGLETON = $ClippedImagePrototype(new ClippedImagePrototype(), IMAGE_BUNDLE_URL_2, 111, 0, 32, 32);
}

var IMAGE_BUNDLE_URL_2, blank_SINGLETON, edit_page_SINGLETON, error_SINGLETON, gears_SINGLETON, gears_grey_SINGLETON, login_SINGLETON, logo_SINGLETON, logout_SINGLETON, ok_SINGLETON, pending_SINGLETON, view_source_SINGLETON, warning_SINGLETON;
function getClass_184(){
  return Ljava_lang_ArrayStoreException_2_classLit;
}

function ArrayStoreException(){
}

_ = ArrayStoreException.prototype = new RuntimeException();
_.getClass$ = getClass_184;
_.typeId$ = 122;
function $clinit_289(){
  $clinit_289 = nullMethod;
  $Boolean(new Boolean_0(), false);
  $Boolean(new Boolean_0(), true);
}

function $Boolean(this$static, value){
  $clinit_289();
  this$static.value_0 = value;
  return this$static;
}

function equals_6(o){
  return o != null && canCast(o.typeId$, 43) && dynamicCast(o, 43).value_0 == this.value_0;
}

function getClass_185(){
  return Ljava_lang_Boolean_2_classLit;
}

function hashCode_5(){
  return this.value_0?1231:1237;
}

function toString_16(){
  return this.value_0?'true':'false';
}

function Boolean_0(){
}

_ = Boolean_0.prototype = new Object_0();
_.equals$ = equals_6;
_.getClass$ = getClass_185;
_.hashCode$ = hashCode_5;
_.toString$ = toString_16;
_.typeId$ = 125;
_.value_0 = false;
function digit(c, radix){
  if (radix < 2 || radix > 36) {
    return -1;
  }
  if (c >= 48 && c < 48 + (radix < 10?radix:10)) {
    return c - 48;
  }
  if (c >= 97 && c < radix + 97 - 10) {
    return c - 97 + 10;
  }
  if (c >= 65 && c < radix + 65 - 10) {
    return c - 65 + 10;
  }
  return -1;
}

function createForArray(packageName, className){
  var clazz;
  clazz = new Class();
  clazz.typeName = packageName + className;
  clazz.modifiers = 4;
  return clazz;
}

function createForClass(packageName, className){
  var clazz;
  clazz = new Class();
  clazz.typeName = packageName + className;
  return clazz;
}

function createForEnum(packageName, className){
  var clazz;
  clazz = new Class();
  clazz.typeName = packageName + className;
  clazz.modifiers = 8;
  return clazz;
}

function getClass_187(){
  return Ljava_lang_Class_2_classLit;
}

function toString_17(){
  return ((this.modifiers & 2) != 0?'interface ':(this.modifiers & 1) != 0?'':'class ') + this.typeName;
}

function Class(){
}

_ = Class.prototype = new Object_0();
_.getClass$ = getClass_187;
_.toString$ = toString_17;
_.typeId$ = 0;
_.modifiers = 0;
_.typeName = null;
function getClass_186(){
  return Ljava_lang_ClassCastException_2_classLit;
}

function ClassCastException(){
}

_ = ClassCastException.prototype = new RuntimeException();
_.getClass$ = getClass_186;
_.typeId$ = 126;
function getClass_196(){
  return Ljava_lang_Number_2_classLit;
}

function Number_0(){
}

_ = Number_0.prototype = new Object_0();
_.getClass$ = getClass_196;
_.typeId$ = 127;
function $Double(this$static, value){
  this$static.value_0 = value;
  return this$static;
}

function equals_7(o){
  return o != null && canCast(o.typeId$, 44) && dynamicCast(o, 44).value_0 == this.value_0;
}

function getClass_188(){
  return Ljava_lang_Double_2_classLit;
}

function hashCode_6(){
  return ~~Math.max(Math.min(this.value_0, 2147483647), -2147483648);
}

function toString_18(){
  return '' + this.value_0;
}

function Double(){
}

_ = Double.prototype = new Number_0();
_.equals$ = equals_7;
_.getClass$ = getClass_188;
_.hashCode$ = hashCode_6;
_.toString$ = toString_18;
_.typeId$ = 128;
_.value_0 = 0;
function $IllegalArgumentException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_191(){
  return Ljava_lang_IllegalArgumentException_2_classLit;
}

function IllegalArgumentException(){
}

_ = IllegalArgumentException.prototype = new RuntimeException();
_.getClass$ = getClass_191;
_.typeId$ = 129;
function $IllegalStateException(this$static, s){
  this$static.detailMessage = s;
  return this$static;
}

function getClass_192(){
  return Ljava_lang_IllegalStateException_2_classLit;
}

function IllegalStateException(){
}

_ = IllegalStateException.prototype = new RuntimeException();
_.getClass$ = getClass_192;
_.typeId$ = 130;
function $IndexOutOfBoundsException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_193(){
  return Ljava_lang_IndexOutOfBoundsException_2_classLit;
}

function IndexOutOfBoundsException(){
}

_ = IndexOutOfBoundsException.prototype = new RuntimeException();
_.getClass$ = getClass_193;
_.typeId$ = 131;
function toPowerOfTwoString(value, shift){
  var bitMask, buf, bufSize, pos;
  bufSize = ~~(32 / shift);
  bitMask = (1 << shift) - 1;
  buf = initDim(_3C_classLit, 0, -1, bufSize, 1);
  pos = bufSize - 1;
  if (value >= 0) {
    while (value > bitMask) {
      buf[pos--] = ($clinit_308() , digits)[value & bitMask];
      value >>= shift;
    }
  }
   else {
    while (pos > 0) {
      buf[pos--] = ($clinit_308() , digits)[value & bitMask];
      value >>= shift;
    }
  }
  buf[pos] = ($clinit_308() , digits)[value & bitMask];
  return __valueOf(buf, pos, bufSize);
}

function hexDigit(c, s){
  var val = ($clinit_304() , hexLookup)[c];
  if (val == null) {
    throw $NumberFormatException(new NumberFormatException(), 'For input string: "' + s + '"');
  }
  return val;
}

function parseHex(s){
  var i, len, result;
  len = s.length;
  if (len > 16) {
    throw $NumberFormatException(new NumberFormatException(), 'For input string: "' + s + '"');
  }
  result = P0_longLit;
  for (i = 0; i < len; ++i) {
    result = shl(result, 4);
    result = add_0(result, fromInt(hexDigit(s.charCodeAt(i), s)));
  }
  return result;
}

function parseLong(orig, intRadix){
  var c, i, len, neg, radix, result, s, value;
  if (orig == null) {
    throw $NumberFormatException(new NumberFormatException(), 'null');
  }
  if (orig.length == 0) {
    throw $NumberFormatException(new NumberFormatException(), 'For input string: "' + orig + '"');
  }
  if (intRadix < 2 || intRadix > 36) {
    throw $NumberFormatException(new NumberFormatException(), 'radix ' + intRadix + ' out of range');
  }
  neg = false;
  if (orig.charCodeAt(0) == 45) {
    neg = true;
    s = orig.substr(1, orig.length - 1);
  }
   else {
    s = orig;
  }
  result = P0_longLit;
  if (intRadix == 16) {
    result = parseHex(s);
  }
   else {
    radix = fromInt(intRadix);
    for (i = 0 , len = s.length; i < len; ++i) {
      if (compare_0(result, P0_longLit) < 0) {
        throw $NumberFormatException(new NumberFormatException(), 'For input string: "' + s + '"');
      }
      result = mul(result, radix);
      c = s.charCodeAt(i);
      value = digit(c, intRadix);
      if (value < 0) {
        throw $NumberFormatException(new NumberFormatException(), 'For input string: "' + s + '"');
      }
      result = add_0(result, fromInt(value));
    }
  }
  if (compare_0(result, P0_longLit) < 0 && neq(result, N8000000000000000_longLit)) {
    throw $NumberFormatException(new NumberFormatException(), 'For input string: "' + s + '"');
  }
  if (neg) {
    return neg_0(result);
  }
   else {
    return result;
  }
}

function $clinit_304(){
  $clinit_304 = nullMethod;
  var c;
  hexLookup = initDim(_3I_classLit, 0, -1, 0, 1);
  for (c = 48; c <= 57; ++c) {
    hexLookup[c] = c - 48;
  }
  for (c = 65; c <= 70; ++c) {
    hexLookup[c] = c - 65 + 10;
  }
  for (c = 97; c <= 102; ++c) {
    hexLookup[c] = c - 97 + 10;
  }
}

var hexLookup;
function max(x, y){
  return x > y?x:y;
}

function $NullPointerException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_194(){
  return Ljava_lang_NullPointerException_2_classLit;
}

function NullPointerException(){
}

_ = NullPointerException.prototype = new RuntimeException();
_.getClass$ = getClass_194;
_.typeId$ = 132;
function $clinit_308(){
  $clinit_308 = nullMethod;
  digits = initValues(_3C_classLit, 0, -1, [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122]);
}

var digits;
function $NumberFormatException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_195(){
  return Ljava_lang_NumberFormatException_2_classLit;
}

function NumberFormatException(){
}

_ = NumberFormatException.prototype = new IllegalArgumentException();
_.getClass$ = getClass_195;
_.typeId$ = 133;
function $equals_0(this$static, other){
  if (!(other != null && canCast(other.typeId$, 1))) {
    return false;
  }
  return String(this$static) == other;
}

function $replaceAll(this$static, regex, replace){
  replace = __translateReplaceString(replace);
  return this$static.replace(RegExp(regex, 'g'), replace);
}

function $split(this$static, regex, maxMatch){
  var compiled = new RegExp(regex, 'g');
  var out = [];
  var count = 0;
  var trail = this$static;
  var lastTrail = null;
  while (true) {
    var matchObj = compiled.exec(trail);
    if (matchObj == null || (trail == '' || count == maxMatch - 1 && maxMatch > 0)) {
      out[count] = trail;
      break;
    }
     else {
      out[count] = trail.substring(0, matchObj.index);
      trail = trail.substring(matchObj.index + matchObj[0].length, trail.length);
      compiled.lastIndex = 0;
      if (lastTrail == trail) {
        out[count] = trail.substring(0, 1);
        trail = trail.substring(1);
      }
      lastTrail = trail;
      count++;
    }
  }
  if (maxMatch == 0) {
    var lastNonEmpty = out.length;
    while (lastNonEmpty > 0 && out[lastNonEmpty - 1] == '') {
      --lastNonEmpty;
    }
    if (lastNonEmpty < out.length) {
      out.splice(lastNonEmpty, out.length - lastNonEmpty);
    }
  }
  var jr = initDim(_3Ljava_lang_String_2_classLit, 159, 1, out.length, 0);
  var i = 0;
  for (i = 0; i < out.length; ++i) {
    jr[i] = out[i];
  }
  return jr;
}

function $substring(this$static, beginIndex){
  return this$static.substr(beginIndex, this$static.length - beginIndex);
}

function $substring_0(this$static, beginIndex, endIndex){
  return this$static.substr(beginIndex, endIndex - beginIndex);
}

function $trim(this$static){
  if (this$static.length == 0 || this$static[0] > ' ' && this$static[this$static.length - 1] > ' ') {
    return this$static;
  }
  var r1 = this$static.replace(/^(\s*)/, '');
  var r2 = r1.replace(/\s*$/, '');
  return r2;
}

function __translateReplaceString(replaceStr){
  var pos;
  pos = 0;
  while (0 <= (pos = replaceStr.indexOf('\\', pos))) {
    if (replaceStr.charCodeAt(pos + 1) == 36) {
      replaceStr = replaceStr.substr(0, pos - 0) + '$' + $substring(replaceStr, ++pos);
    }
     else {
      replaceStr = replaceStr.substr(0, pos - 0) + $substring(replaceStr, ++pos);
    }
  }
  return replaceStr;
}

function __valueOf(x, start, end){
  x = x.slice(start, end);
  return String.fromCharCode.apply(null, x);
}

function compareTo(thisStr, otherStr){
  thisStr = String(thisStr);
  if (thisStr == otherStr) {
    return 0;
  }
  return thisStr < otherStr?-1:1;
}

function equals_10(other){
  return $equals_0(this, other);
}

function fromCodePoint(codePoint){
  var hiSurrogate, loSurrogate;
  if (codePoint >= 65536) {
    hiSurrogate = 55296 + (codePoint - 65536 >> 10 & 1023) & 65535;
    loSurrogate = 56320 + (codePoint - 65536 & 1023) & 65535;
    return String.fromCharCode(hiSurrogate) + String.fromCharCode(loSurrogate);
  }
   else {
    return String.fromCharCode(codePoint & 65535);
  }
}

function getClass_201(){
  return Ljava_lang_String_2_classLit;
}

function hashCode_9(){
  return getHashCode_0(this);
}

function toString_23(){
  return this;
}

_ = String.prototype;
_.equals$ = equals_10;
_.getClass$ = getClass_201;
_.hashCode$ = hashCode_9;
_.toString$ = toString_23;
_.typeId$ = 2;
function $clinit_313(){
  $clinit_313 = nullMethod;
  back = {};
  front = {};
}

function compute(str){
  var hashCode, i, inc, n;
  n = str.length;
  inc = n < 64?1:~~(n / 32);
  hashCode = 0;
  for (i = 0; i < n; i += inc) {
    hashCode <<= 1;
    hashCode += str.charCodeAt(i);
  }
  hashCode |= 0;
  return hashCode;
}

function getHashCode_0(str){
  $clinit_313();
  var key = ':' + str;
  var result = front[key];
  if (result != null) {
    return result;
  }
  result = back[key];
  if (result == null) {
    result = compute(str);
  }
  increment();
  return front[key] = result;
}

function increment(){
  if (count_0 == 256) {
    back = front;
    front = {};
    count_0 = 0;
  }
  ++count_0;
}

var back, count_0 = 0, front;
function $StringBuffer(this$static){
  this$static.builder = $StringBuilder(new StringBuilder());
  return this$static;
}

function $append(this$static, x){
  $append_1(this$static.builder, '' + x);
  return this$static;
}

function $append_0(this$static, toAppend){
  $append_1(this$static.builder, toAppend);
  return this$static;
}

function getClass_199(){
  return Ljava_lang_StringBuffer_2_classLit;
}

function toString_21(){
  return $toString_3(this.builder);
}

function StringBuffer(){
}

_ = StringBuffer.prototype = new Object_0();
_.getClass$ = getClass_199;
_.toString$ = toString_21;
_.typeId$ = 134;
function $StringBuilder(this$static){
  this$static.stringArray = initDim(_3Ljava_lang_String_2_classLit, 159, 1, 0, 0);
  return this$static;
}

function $append_1(this$static, toAppend){
  var appendLength;
  if (toAppend == null) {
    toAppend = 'null';
  }
  appendLength = toAppend.length;
  if (appendLength > 0) {
    this$static.stringArray[this$static.arrayLen++] = toAppend;
    this$static.stringLength += appendLength;
    if (this$static.arrayLen > 1024) {
      $toString_3(this$static);
      this$static.stringArray.length = 1024;
    }
  }
  return this$static;
}

function $toString_3(this$static){
  var s;
  if (this$static.arrayLen != 1) {
    this$static.stringArray.length = this$static.arrayLen;
    s = this$static.stringArray.join('');
    this$static.stringArray = initValues(_3Ljava_lang_String_2_classLit, 159, 1, [s]);
    this$static.arrayLen = 1;
  }
  return this$static.stringArray[0];
}

function getClass_200(){
  return Ljava_lang_StringBuilder_2_classLit;
}

function toString_22(){
  return $toString_3(this);
}

function StringBuilder(){
}

_ = StringBuilder.prototype = new Object_0();
_.getClass$ = getClass_200;
_.toString$ = toString_22;
_.typeId$ = 135;
_.arrayLen = 0;
_.stringLength = 0;
function $UnsupportedOperationException(this$static, message){
  this$static.detailMessage = message;
  return this$static;
}

function getClass_203(){
  return Ljava_lang_UnsupportedOperationException_2_classLit;
}

function UnsupportedOperationException(){
}

_ = UnsupportedOperationException.prototype = new RuntimeException();
_.getClass$ = getClass_203;
_.typeId$ = 136;
function $equals_2(this$static, obj){
  var entry, entry$iterator, otherKey, otherMap, otherValue;
  if ((obj == null?null:obj) === (this$static == null?null:this$static)) {
    return true;
  }
  if (!(obj != null && canCast(obj.typeId$, 47))) {
    return false;
  }
  otherMap = dynamicCast(obj, 47);
  if (this$static.size_0 != otherMap.size_1()) {
    return false;
  }
  for (entry$iterator = otherMap.entrySet().iterator_0(); entry$iterator.hasNext();) {
    entry = dynamicCast(entry$iterator.next_1(), 4);
    otherKey = entry.getKey();
    otherValue = entry.getValue();
    if (!(otherKey == null?this$static.nullSlotLive:otherKey != null && canCast(otherKey.typeId$, 1)?$hasStringValue(this$static, dynamicCast(otherKey, 1)):$hasHashValue(this$static, otherKey, ~~hashCode__devirtual$(otherKey)))) {
      return false;
    }
    if (!equalsWithNullCheck(otherValue, otherKey == null?this$static.nullSlot:otherKey != null && canCast(otherKey.typeId$, 1)?this$static.stringMap[':' + dynamicCast(otherKey, 1)]:$getHashValue(this$static, otherKey, ~~hashCode__devirtual$(otherKey)))) {
      return false;
    }
  }
  return true;
}

function $hashCode_1(this$static){
  var entry, entry$iterator, hashCode;
  hashCode = 0;
  for (entry$iterator = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), this$static).this$0); $hasNext_0(entry$iterator.iter);) {
    entry = dynamicCast($next_1(entry$iterator.iter), 4);
    hashCode += entry.hashCode$();
    hashCode = ~~hashCode;
  }
  return hashCode;
}

function $keySet_0(this$static){
  var entrySet;
  entrySet = $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), this$static);
  return $AbstractMap$1(new AbstractMap$1(), this$static, entrySet);
}

function $toString_6(this$static){
  var comma, entry, iter, s;
  s = '{';
  comma = false;
  for (iter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), this$static).this$0); $hasNext_0(iter.iter);) {
    entry = dynamicCast($next_1(iter.iter), 4);
    if (comma) {
      s += ', ';
    }
     else {
      comma = true;
    }
    s += '' + entry.getKey();
    s += '=';
    s += '' + entry.getValue();
  }
  return s + '}';
}

function equals_13(obj){
  return $equals_2(this, obj);
}

function getClass_215(){
  return Ljava_util_AbstractMap_2_classLit;
}

function hashCode_12(){
  return $hashCode_1(this);
}

function size_3(){
  return $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), dynamicCast(this, 45)).this$0.size_0;
}

function toString_27(){
  return $toString_6(this);
}

function AbstractMap(){
}

_ = AbstractMap.prototype = new Object_0();
_.equals$ = equals_13;
_.getClass$ = getClass_215;
_.hashCode$ = hashCode_12;
_.size_1 = size_3;
_.toString$ = toString_27;
_.typeId$ = 137;
function $addAllHashEntries(this$static, dest){
  var hashCodeMap = this$static.hashCodeMap;
  for (var hashCode in hashCodeMap) {
    if (hashCode == parseInt(hashCode)) {
      var array = hashCodeMap[hashCode];
      for (var i = 0, c = array.length; i < c; ++i) {
        dest.add_1(array[i]);
      }
    }
  }
}

function $addAllStringEntries(this$static, dest){
  var stringMap = this$static.stringMap;
  for (var key in stringMap) {
    if (key.charCodeAt(0) == 58) {
      var entry = new_$_1(this$static, key.substring(1));
      dest.add_1(entry);
    }
  }
}

function $clearImpl(this$static){
  this$static.hashCodeMap = [];
  this$static.stringMap = {};
  this$static.nullSlotLive = false;
  this$static.nullSlot = null;
  this$static.size_0 = 0;
}

function $containsKey_1(this$static, key){
  return key == null?this$static.nullSlotLive:key != null && canCast(key.typeId$, 1)?$hasStringValue(this$static, dynamicCast(key, 1)):$hasHashValue(this$static, key, ~~hashCode__devirtual$(key));
}

function $get_3(this$static, key){
  return key == null?this$static.nullSlot:key != null && canCast(key.typeId$, 1)?this$static.stringMap[':' + dynamicCast(key, 1)]:$getHashValue(this$static, key, ~~hashCode__devirtual$(key));
}

function $getHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return entry.getValue();
      }
    }
  }
  return null;
}

function $hasHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return true;
      }
    }
  }
  return false;
}

function $hasStringValue(this$static, key){
  return ':' + key in this$static.stringMap;
}

function $put_1(this$static, key, value){
  return key == null?$putNullSlot(this$static, value):key != null && canCast(key.typeId$, 1)?$putStringValue(this$static, dynamicCast(key, 1), value):$putHashValue(this$static, key, value, ~~hashCode__devirtual$(key));
}

function $putHashValue(this$static, key, value, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        var previous = entry.getValue();
        entry.setValue(value);
        return previous;
      }
    }
  }
   else {
    array = this$static.hashCodeMap[hashCode] = [];
  }
  var entry = $MapEntryImpl(new MapEntryImpl(), key, value);
  array.push(entry);
  ++this$static.size_0;
  return null;
}

function $putNullSlot(this$static, value){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = value;
  if (!this$static.nullSlotLive) {
    this$static.nullSlotLive = true;
    ++this$static.size_0;
  }
  return result;
}

function $putStringValue(this$static, key, value){
  var result, stringMap = this$static.stringMap;
  key = ':' + key;
  if (key in stringMap) {
    result = stringMap[key];
  }
   else {
    ++this$static.size_0;
  }
  stringMap[key] = value;
  return result;
}

function entrySet_0(){
  return $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), dynamicCast(this, 45));
}

function equalsBridge(value1, value2){
  return (value1 == null?null:value1) === (value2 == null?null:value2) || value1 != null && equals__devirtual$(value1, value2);
}

function getClass_209(){
  return Ljava_util_AbstractHashMap_2_classLit;
}

function size_1(){
  return dynamicCast(this, 45).size_0;
}

function AbstractHashMap(){
}

_ = AbstractHashMap.prototype = new AbstractMap();
_.entrySet = entrySet_0;
_.equalsBridge = equalsBridge;
_.getClass$ = getClass_209;
_.size_1 = size_1;
_.typeId$ = 138;
_.hashCodeMap = null;
_.nullSlot = null;
_.nullSlotLive = false;
_.size_0 = 0;
_.stringMap = null;
function equals_14(o){
  var iter, other, otherItem;
  if ((o == null?null:o) === (this == null?null:this)) {
    return true;
  }
  if (!(o != null && canCast(o.typeId$, 48))) {
    return false;
  }
  other = dynamicCast(o, 48);
  if (other.size_1() != this.size_1()) {
    return false;
  }
  for (iter = other.iterator_0(); iter.hasNext();) {
    otherItem = iter.next_1();
    if (!this.contains(otherItem)) {
      return false;
    }
  }
  return true;
}

function getClass_216(){
  return Ljava_util_AbstractSet_2_classLit;
}

function hashCode_13(){
  var hashCode, iter, next;
  hashCode = 0;
  for (iter = this.iterator_0(); iter.hasNext();) {
    next = iter.next_1();
    if (next != null) {
      hashCode += hashCode__devirtual$(next);
      hashCode = ~~hashCode;
    }
  }
  return hashCode;
}

function AbstractSet(){
}

_ = AbstractSet.prototype = new AbstractCollection();
_.equals$ = equals_14;
_.getClass$ = getClass_216;
_.hashCode$ = hashCode_13;
_.typeId$ = 139;
function $AbstractHashMap$EntrySet(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $contains(this$static, o){
  var entry, key, value;
  if (o != null && canCast(o.typeId$, 4)) {
    entry = dynamicCast(o, 4);
    key = entry.getKey();
    if ($containsKey_1(this$static.this$0, key)) {
      value = $get_3(this$static.this$0, key);
      return $equals_3(entry.getValue(), value);
    }
  }
  return false;
}

function contains_0(o){
  return $contains(this, o);
}

function getClass_206(){
  return Ljava_util_AbstractHashMap$EntrySet_2_classLit;
}

function iterator_5(){
  return $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), this.this$0);
}

function size_0(){
  return this.this$0.size_0;
}

function AbstractHashMap$EntrySet(){
}

_ = AbstractHashMap$EntrySet.prototype = new AbstractSet();
_.contains = contains_0;
_.getClass$ = getClass_206;
_.iterator_0 = iterator_5;
_.size_1 = size_0;
_.typeId$ = 140;
_.this$0 = null;
function $AbstractHashMap$EntrySetIterator(this$static, this$0){
  var list;
  this$static.this$0 = this$0;
  list = $ArrayList(new ArrayList());
  if (this$static.this$0.nullSlotLive) {
    $add_8(list, $AbstractHashMap$MapEntryNull(new AbstractHashMap$MapEntryNull(), this$static.this$0));
  }
  $addAllStringEntries(this$static.this$0, list);
  $addAllHashEntries(this$static.this$0, list);
  this$static.iter = $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), list);
  return this$static;
}

function getClass_205(){
  return Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit;
}

function hasNext_4(){
  return $hasNext_0(this.iter);
}

function next_5(){
  return dynamicCast($next_1(this.iter), 4);
}

function AbstractHashMap$EntrySetIterator(){
}

_ = AbstractHashMap$EntrySetIterator.prototype = new Object_0();
_.getClass$ = getClass_205;
_.hasNext = hasNext_4;
_.next_1 = next_5;
_.typeId$ = 0;
_.iter = null;
_.this$0 = null;
function equals_12(other){
  var entry;
  if (other != null && canCast(other.typeId$, 4)) {
    entry = dynamicCast(other, 4);
    if (equalsWithNullCheck(this.getKey(), entry.getKey()) && equalsWithNullCheck(this.getValue(), entry.getValue())) {
      return true;
    }
  }
  return false;
}

function getClass_214(){
  return Ljava_util_AbstractMapEntry_2_classLit;
}

function hashCode_11(){
  var keyHash, valueHash;
  keyHash = 0;
  valueHash = 0;
  if (this.getKey() != null) {
    keyHash = hashCode__devirtual$(this.getKey());
  }
  if (this.getValue() != null) {
    valueHash = hashCode__devirtual$(this.getValue());
  }
  return keyHash ^ valueHash;
}

function toString_26(){
  return this.getKey() + '=' + this.getValue();
}

function AbstractMapEntry(){
}

_ = AbstractMapEntry.prototype = new Object_0();
_.equals$ = equals_12;
_.getClass$ = getClass_214;
_.hashCode$ = hashCode_11;
_.toString$ = toString_26;
_.typeId$ = 141;
function $AbstractHashMap$MapEntryNull(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function getClass_207(){
  return Ljava_util_AbstractHashMap$MapEntryNull_2_classLit;
}

function getKey(){
  return null;
}

function getValue(){
  return this.this$0.nullSlot;
}

function setValue(object){
  return $putNullSlot(this.this$0, object);
}

function AbstractHashMap$MapEntryNull(){
}

_ = AbstractHashMap$MapEntryNull.prototype = new AbstractMapEntry();
_.getClass$ = getClass_207;
_.getKey = getKey;
_.getValue = getValue;
_.setValue = setValue;
_.typeId$ = 142;
_.this$0 = null;
function $AbstractHashMap$MapEntryString(this$static, key, this$0){
  this$static.this$0 = this$0;
  this$static.key = key;
  return this$static;
}

function getClass_208(){
  return Ljava_util_AbstractHashMap$MapEntryString_2_classLit;
}

function getKey_0(){
  return this.key;
}

function getValue_0(){
  return this.this$0.stringMap[':' + this.key];
}

function new_$_1(this$outer, key){
  return $AbstractHashMap$MapEntryString(new AbstractHashMap$MapEntryString(), key, this$outer);
}

function setValue_0(object){
  return $putStringValue(this.this$0, this.key, object);
}

function AbstractHashMap$MapEntryString(){
}

_ = AbstractHashMap$MapEntryString.prototype = new AbstractMapEntry();
_.getClass$ = getClass_208;
_.getKey = getKey_0;
_.getValue = getValue_0;
_.setValue = setValue_0;
_.typeId$ = 143;
_.key = null;
_.this$0 = null;
function $AbstractList$IteratorImpl(this$static, this$0){
  this$static.this$0 = this$0;
  return this$static;
}

function $hasNext_0(this$static){
  return this$static.i < this$static.this$0.size_1();
}

function $next_1(this$static){
  if (this$static.i >= this$static.this$0.size_1()) {
    throw new NoSuchElementException();
  }
  return this$static.this$0.get(this$static.i++);
}

function getClass_210(){
  return Ljava_util_AbstractList$IteratorImpl_2_classLit;
}

function hasNext_5(){
  return this.i < this.this$0.size_1();
}

function next_6(){
  return $next_1(this);
}

function AbstractList$IteratorImpl(){
}

_ = AbstractList$IteratorImpl.prototype = new Object_0();
_.getClass$ = getClass_210;
_.hasNext = hasNext_5;
_.next_1 = next_6;
_.typeId$ = 0;
_.i = 0;
_.this$0 = null;
function $AbstractMap$1(this$static, this$0, val$entrySet){
  this$static.this$0 = this$0;
  this$static.val$entrySet = val$entrySet;
  return this$static;
}

function contains_1(key){
  return $containsKey_1(this.this$0, key);
}

function getClass_213(){
  return Ljava_util_AbstractMap$1_2_classLit;
}

function iterator_7(){
  var outerIter;
  return outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), this.val$entrySet.this$0) , $AbstractMap$1$1(new AbstractMap$1$1(), outerIter);
}

function size_2(){
  return this.val$entrySet.this$0.size_0;
}

function AbstractMap$1(){
}

_ = AbstractMap$1.prototype = new AbstractSet();
_.contains = contains_1;
_.getClass$ = getClass_213;
_.iterator_0 = iterator_7;
_.size_1 = size_2;
_.typeId$ = 144;
_.this$0 = null;
_.val$entrySet = null;
function $AbstractMap$1$1(this$static, val$outerIter){
  this$static.val$outerIter = val$outerIter;
  return this$static;
}

function getClass_212(){
  return Ljava_util_AbstractMap$1$1_2_classLit;
}

function hasNext_6(){
  return $hasNext_0(this.val$outerIter.iter);
}

function next_7(){
  var entry;
  return entry = dynamicCast($next_1(this.val$outerIter.iter), 4) , entry.getKey();
}

function AbstractMap$1$1(){
}

_ = AbstractMap$1$1.prototype = new Object_0();
_.getClass$ = getClass_212;
_.hasNext = hasNext_6;
_.next_1 = next_7;
_.typeId$ = 0;
_.val$outerIter = null;
function $clinit_344(){
  $clinit_344 = nullMethod;
  unmodifiableList($ArrayList(new ArrayList()));
  $Collections$UnmodifiableMap(new Collections$UnmodifiableMap(), $HashMap(new HashMap()));
  $Collections$UnmodifiableCollection(new Collections$UnmodifiableSet(), $HashSet(new HashSet()));
}

function unmodifiableList(list){
  return list?$Collections$UnmodifiableRandomAccessList(new Collections$UnmodifiableRandomAccessList(), list):$Collections$UnmodifiableList(new Collections$UnmodifiableList(), list);
}

function $Collections$2(this$static, val$it){
  this$static.val$it = val$it;
  return this$static;
}

function getClass_218(){
  return Ljava_util_Collections$2_2_classLit;
}

function Collections$2(){
}

_ = Collections$2.prototype = new Object_0();
_.getClass$ = getClass_218;
_.typeId$ = 0;
_.val$it = null;
function $Collections$UnmodifiableCollection(this$static, coll){
  this$static.coll = coll;
  return this$static;
}

function add_6(o){
  throw new UnsupportedOperationException();
}

function getClass_220(){
  return Ljava_util_Collections$UnmodifiableCollection_2_classLit;
}

function iterator_8(){
  return $Collections$UnmodifiableCollectionIterator(new Collections$UnmodifiableCollectionIterator(), this.coll.iterator_0());
}

function size_5(){
  return this.coll.size_1();
}

function Collections$UnmodifiableCollection(){
}

_ = Collections$UnmodifiableCollection.prototype = new Object_0();
_.add_1 = add_6;
_.getClass$ = getClass_220;
_.iterator_0 = iterator_8;
_.size_1 = size_5;
_.typeId$ = 0;
_.coll = null;
function $Collections$UnmodifiableCollectionIterator(this$static, it){
  this$static.it = it;
  return this$static;
}

function getClass_219(){
  return Ljava_util_Collections$UnmodifiableCollectionIterator_2_classLit;
}

function hasNext_7(){
  return this.it.hasNext();
}

function next_8(){
  return this.it.next_1();
}

function Collections$UnmodifiableCollectionIterator(){
}

_ = Collections$UnmodifiableCollectionIterator.prototype = new Object_0();
_.getClass$ = getClass_219;
_.hasNext = hasNext_7;
_.next_1 = next_8;
_.typeId$ = 0;
_.it = null;
function $Collections$UnmodifiableList(this$static, list){
  this$static.coll = list;
  this$static.list = list;
  return this$static;
}

function equals_15(o){
  return $equals_1(this.list, o);
}

function getClass_221(){
  return Ljava_util_Collections$UnmodifiableList_2_classLit;
}

function hashCode_14(){
  return $hashCode_0(this.list);
}

function Collections$UnmodifiableList(){
}

_ = Collections$UnmodifiableList.prototype = new Collections$UnmodifiableCollection();
_.equals$ = equals_15;
_.getClass$ = getClass_221;
_.hashCode$ = hashCode_14;
_.typeId$ = 145;
_.list = null;
function $Collections$UnmodifiableMap(this$static, map){
  this$static.map = map;
  return this$static;
}

function entrySet_1(){
  return $Collections$UnmodifiableMap$UnmodifiableEntrySet(new Collections$UnmodifiableMap$UnmodifiableEntrySet(), $AbstractHashMap$EntrySet(new AbstractHashMap$EntrySet(), this.map));
}

function equals_17(o){
  return $equals_2(this.map, o);
}

function getClass_225(){
  return Ljava_util_Collections$UnmodifiableMap_2_classLit;
}

function hashCode_16(){
  return $hashCode_1(this.map);
}

function size_6(){
  return this.map.size_0;
}

function toString_29(){
  return $toString_6(this.map);
}

function Collections$UnmodifiableMap(){
}

_ = Collections$UnmodifiableMap.prototype = new Object_0();
_.entrySet = entrySet_1;
_.equals$ = equals_17;
_.getClass$ = getClass_225;
_.hashCode$ = hashCode_16;
_.size_1 = size_6;
_.toString$ = toString_29;
_.typeId$ = 146;
_.map = null;
function equals_18(o){
  return equals__devirtual$(this.coll, o);
}

function getClass_227(){
  return Ljava_util_Collections$UnmodifiableSet_2_classLit;
}

function hashCode_17(){
  return hashCode__devirtual$(this.coll);
}

function Collections$UnmodifiableSet(){
}

_ = Collections$UnmodifiableSet.prototype = new Collections$UnmodifiableCollection();
_.equals$ = equals_18;
_.getClass$ = getClass_227;
_.hashCode$ = hashCode_17;
_.typeId$ = 147;
function $Collections$UnmodifiableMap$UnmodifiableEntrySet(this$static, s){
  this$static.coll = s;
  return this$static;
}

function getClass_224(){
  return Ljava_util_Collections$UnmodifiableMap$UnmodifiableEntrySet_2_classLit;
}

function iterator_9(){
  var it;
  it = this.coll.iterator_0();
  return $Collections$UnmodifiableMap$UnmodifiableEntrySet$1(new Collections$UnmodifiableMap$UnmodifiableEntrySet$1(), it);
}

function Collections$UnmodifiableMap$UnmodifiableEntrySet(){
}

_ = Collections$UnmodifiableMap$UnmodifiableEntrySet.prototype = new Collections$UnmodifiableSet();
_.getClass$ = getClass_224;
_.iterator_0 = iterator_9;
_.typeId$ = 148;
function $Collections$UnmodifiableMap$UnmodifiableEntrySet$1(this$static, val$it){
  this$static.val$it = val$it;
  return this$static;
}

function getClass_222(){
  return Ljava_util_Collections$UnmodifiableMap$UnmodifiableEntrySet$1_2_classLit;
}

function hasNext_8(){
  return this.val$it.hasNext();
}

function next_9(){
  return $Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry(new Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry(), dynamicCast(this.val$it.next_1(), 4));
}

function Collections$UnmodifiableMap$UnmodifiableEntrySet$1(){
}

_ = Collections$UnmodifiableMap$UnmodifiableEntrySet$1.prototype = new Object_0();
_.getClass$ = getClass_222;
_.hasNext = hasNext_8;
_.next_1 = next_9;
_.typeId$ = 0;
_.val$it = null;
function $Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry(this$static, entry){
  this$static.entry = entry;
  return this$static;
}

function equals_16(o){
  return this.entry.equals$(o);
}

function getClass_223(){
  return Ljava_util_Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry_2_classLit;
}

function getKey_1(){
  return this.entry.getKey();
}

function getValue_1(){
  return this.entry.getValue();
}

function hashCode_15(){
  return this.entry.hashCode$();
}

function setValue_1(value){
  throw new UnsupportedOperationException();
}

function toString_28(){
  return toString__devirtual$(this.entry);
}

function Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry(){
}

_ = Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry.prototype = new Object_0();
_.equals$ = equals_16;
_.getClass$ = getClass_223;
_.getKey = getKey_1;
_.getValue = getValue_1;
_.hashCode$ = hashCode_15;
_.setValue = setValue_1;
_.toString$ = toString_28;
_.typeId$ = 149;
_.entry = null;
function $Collections$UnmodifiableRandomAccessList(this$static, list){
  this$static.coll = list;
  this$static.list = list;
  return this$static;
}

function getClass_226(){
  return Ljava_util_Collections$UnmodifiableRandomAccessList_2_classLit;
}

function Collections$UnmodifiableRandomAccessList(){
}

_ = Collections$UnmodifiableRandomAccessList.prototype = new Collections$UnmodifiableList();
_.getClass$ = getClass_226;
_.typeId$ = 150;
function $HashMap(this$static){
  $clearImpl(this$static);
  return this$static;
}

function $equals_3(value1, value2){
  return (value1 == null?null:value1) === (value2 == null?null:value2) || value1 != null && equals__devirtual$(value1, value2);
}

function getClass_228(){
  return Ljava_util_HashMap_2_classLit;
}

function HashMap(){
}

_ = HashMap.prototype = new AbstractHashMap();
_.getClass$ = getClass_228;
_.typeId$ = 151;
function $HashSet(this$static){
  this$static.map = $HashMap(new HashMap());
  return this$static;
}

function $add_9(this$static, o){
  var old;
  old = $put_1(this$static.map, o, this$static);
  return old == null;
}

function add_7(o){
  var old;
  return old = $put_1(this.map, o, this) , old == null;
}

function contains_3(o){
  return $containsKey_1(this.map, o);
}

function getClass_229(){
  return Ljava_util_HashSet_2_classLit;
}

function iterator_10(){
  var outerIter;
  return outerIter = $AbstractHashMap$EntrySetIterator(new AbstractHashMap$EntrySetIterator(), $keySet_0(this.map).val$entrySet.this$0) , $AbstractMap$1$1(new AbstractMap$1$1(), outerIter);
}

function size_7(){
  return this.map.size_0;
}

function toString_30(){
  return $toString_5($keySet_0(this.map));
}

function HashSet(){
}

_ = HashSet.prototype = new AbstractSet();
_.add_1 = add_7;
_.contains = contains_3;
_.getClass$ = getClass_229;
_.iterator_0 = iterator_10;
_.size_1 = size_7;
_.toString$ = toString_30;
_.typeId$ = 152;
_.map = null;
function $MapEntryImpl(this$static, key, value){
  this$static.key = key;
  this$static.value_0 = value;
  return this$static;
}

function getClass_230(){
  return Ljava_util_MapEntryImpl_2_classLit;
}

function getKey_2(){
  return this.key;
}

function getValue_2(){
  return this.value_0;
}

function setValue_2(value){
  var old;
  old = this.value_0;
  this.value_0 = value;
  return old;
}

function MapEntryImpl(){
}

_ = MapEntryImpl.prototype = new AbstractMapEntry();
_.getClass$ = getClass_230;
_.getKey = getKey_2;
_.getValue = getValue_2;
_.setValue = setValue_2;
_.typeId$ = 153;
_.key = null;
_.value_0 = null;
function getClass_231(){
  return Ljava_util_NoSuchElementException_2_classLit;
}

function NoSuchElementException(){
}

_ = NoSuchElementException.prototype = new RuntimeException();
_.getClass$ = getClass_231;
_.typeId$ = 154;
function equalsWithNullCheck(a, b){
  return (a == null?null:a) === (b == null?null:b) || a != null && equals__devirtual$(a, b);
}

function $Vector(this$static){
  this$static.arrayList = $ArrayList(new ArrayList());
  return this$static;
}

function add_9(o){
  return $add_8(this.arrayList, o);
}

function add_8(index, o){
  $add_7(this.arrayList, index, o);
}

function contains_4(elem){
  return $indexOf_2(this.arrayList, elem, 0) != -1;
}

function get_2(index){
  return $get_4(this.arrayList, index);
}

function getClass_232(){
  return Ljava_util_Vector_2_classLit;
}

function iterator_11(){
  return $AbstractList$IteratorImpl(new AbstractList$IteratorImpl(), this.arrayList);
}

function size_8(){
  return this.arrayList.size_0;
}

function toString_31(){
  return $toString_5(this.arrayList);
}

function Vector(){
}

_ = Vector.prototype = new AbstractList();
_.add_1 = add_9;
_.add_0 = add_8;
_.contains = contains_4;
_.get = get_2;
_.getClass$ = getClass_232;
_.iterator_0 = iterator_11;
_.size_1 = size_8;
_.toString$ = toString_31;
_.typeId$ = 155;
_.arrayList = null;
function init_0(){
  !!$stats && $stats({moduleName:$moduleName, subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date()).getTime(), type:'onModuleLoadStart', className:'com.web_bloks.project.client.main'});
  $onModuleLoad($main(new main()));
}

function gwtOnLoad(errFn, modName, modBase){
  $moduleName = modName;
  $moduleBase = modBase;
  if (errFn)
    try {
      init_0();
    }
     catch (e) {
      errFn(modName);
    }
   else {
    init_0();
  }
}

function nullMethod(){
}

var _3Lcom_google_gwt_animation_client_Animation_2_classLit = createForArray('[Lcom.google.gwt.animation.client.', 'Animation;'), Ljava_lang_Object_2_classLit = createForClass('java.lang.', 'Object'), Lcom_google_gwt_animation_client_Animation_2_classLit = createForClass('com.google.gwt.animation.client.', 'Animation'), Lcom_google_gwt_user_client_Timer_2_classLit = createForClass('com.google.gwt.user.client.', 'Timer'), Lcom_google_gwt_animation_client_Animation$1_2_classLit = createForClass('com.google.gwt.animation.client.', 'Animation$1'), Ljava_lang_Throwable_2_classLit = createForClass('java.lang.', 'Throwable'), Ljava_lang_Exception_2_classLit = createForClass('java.lang.', 'Exception'), Ljava_lang_RuntimeException_2_classLit = createForClass('java.lang.', 'RuntimeException'), Lcom_google_gwt_core_client_JavaScriptException_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptException'), Lcom_google_gwt_core_client_JavaScriptObject_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptObject$'), Lcom_google_gwt_gears_client_GearsException_2_classLit = createForClass('com.google.gwt.gears.client.', 'GearsException'), Lcom_google_gwt_gears_client_database_DatabaseException_2_classLit = createForClass('com.google.gwt.gears.client.database.', 'DatabaseException'), Lcom_google_gwt_http_client_Header_2_classLit = createForClass('com.google.gwt.http.client.', 'Header'), Lcom_google_gwt_http_client_Request_2_classLit = createForClass('com.google.gwt.http.client.', 'Request'), Lcom_google_gwt_http_client_Response_2_classLit = createForClass('com.google.gwt.http.client.', 'Response'), Lcom_google_gwt_http_client_Request$1_2_classLit = createForClass('com.google.gwt.http.client.', 'Request$1'), Lcom_google_gwt_http_client_Request$2_2_classLit = createForClass('com.google.gwt.http.client.', 'Request$2'), Lcom_google_gwt_http_client_RequestBuilder_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder'), Lcom_google_gwt_http_client_RequestBuilder$Method_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder$Method'), Lcom_google_gwt_http_client_RequestException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestException'), Lcom_google_gwt_http_client_RequestPermissionException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestPermissionException'), Lcom_google_gwt_http_client_RequestTimeoutException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestTimeoutException'), _3Lcom_google_gwt_http_client_Header_2_classLit = createForArray('[Lcom.google.gwt.http.client.', 'Header;'), Lcom_google_gwt_http_client_XMLHTTPRequest$1_2_classLit = createForClass('com.google.gwt.http.client.', 'XMLHTTPRequest$1'), _3Ljava_lang_String_2_classLit = createForArray('[Ljava.lang.', 'String;'), Ljava_lang_Enum_2_classLit = createForClass('java.lang.', 'Enum'), Lcom_google_gwt_json_client_JSONValue_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONValue'), Lcom_google_gwt_json_client_JSONArray_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONArray'), Lcom_google_gwt_json_client_JSONBoolean_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONBoolean'), Lcom_google_gwt_json_client_JSONException_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONException'), Lcom_google_gwt_json_client_JSONNull_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONNull'), Lcom_google_gwt_json_client_JSONNumber_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONNumber'), Lcom_google_gwt_json_client_JSONObject_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONObject'), Lcom_google_gwt_json_client_JSONString_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONString'), _3_3D_classLit = createForArray('', '[[D'), Lcom_google_gwt_user_client_impl_DocumentRootImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'DocumentRootImpl'), _3Lcom_google_gwt_user_client_HistoryListener_2_classLit = createForArray('[Lcom.google.gwt.user.client.', 'HistoryListener;'), Lcom_google_gwt_user_client_impl_HistoryImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImpl'), Lcom_google_gwt_user_client_impl_HistoryImplStandard_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImplStandard'), Lcom_google_gwt_user_client_impl_HistoryImplMozilla_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImplMozilla'), Lcom_google_gwt_user_client_ui_AbstractImagePrototype_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AbstractImagePrototype'), Lcom_google_gwt_user_client_ui_impl_ClippedImagePrototype_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'ClippedImagePrototype'), Lcom_google_gwt_user_client_ui_impl_FocusImpl_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'FocusImpl'), Lcom_google_gwt_user_client_ui_impl_FocusImplOld_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'FocusImplOld'), Lcom_google_gwt_user_client_ui_impl_RichTextAreaImpl_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'RichTextAreaImpl'), Lcom_google_gwt_user_client_ui_impl_RichTextAreaImplStandard_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'RichTextAreaImplStandard'), Lcom_google_gwt_user_client_ui_impl_RichTextAreaImplMozilla_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'RichTextAreaImplMozilla'), Lcom_google_gwt_user_client_ui_UIObject_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'UIObject'), Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Widget'), Lcom_google_gwt_user_client_ui_Panel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Panel'), Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ComplexPanel'), Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AbsolutePanel'), Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FocusWidget'), Lcom_google_gwt_user_client_ui_Anchor_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Anchor'), Lcom_google_gwt_user_client_ui_ButtonBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ButtonBase'), Lcom_google_gwt_user_client_ui_Button_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Button'), Lcom_google_gwt_user_client_ui_CellPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CellPanel'), Ljava_util_AbstractCollection_2_classLit = createForClass('java.util.', 'AbstractCollection'), Ljava_util_AbstractList_2_classLit = createForClass('java.util.', 'AbstractList'), Ljava_util_ArrayList_2_classLit = createForClass('java.util.', 'ArrayList'), Lcom_google_gwt_user_client_ui_ChangeListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ChangeListenerCollection'), Lcom_google_gwt_user_client_ui_ClickListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ClickListenerCollection'), Lcom_google_gwt_user_client_ui_Composite_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Composite'), Lcom_google_gwt_user_client_ui_CustomButton_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CustomButton'), Lcom_google_gwt_user_client_ui_CustomButton$Face_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CustomButton$Face'), Lcom_google_gwt_user_client_ui_CustomButton$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CustomButton$1'), Lcom_google_gwt_user_client_ui_DeckPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DeckPanel'), Lcom_google_gwt_user_client_ui_DeckPanel$SlideAnimation_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DeckPanel$SlideAnimation'), Lcom_google_gwt_user_client_ui_SimplePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel'), Lcom_google_gwt_user_client_ui_HTMLTable_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable'), Lcom_google_gwt_user_client_ui_FlexTable_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FlexTable'), Lcom_google_gwt_user_client_ui_HTMLTable$CellFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$CellFormatter'), Lcom_google_gwt_user_client_ui_FlexTable$FlexCellFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FlexTable$FlexCellFormatter'), Lcom_google_gwt_user_client_ui_Label_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Label'), Lcom_google_gwt_user_client_ui_HTML_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTML'), Lcom_google_gwt_user_client_ui_HTMLTable$ColumnFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$ColumnFormatter'), Lcom_google_gwt_user_client_ui_HTMLTable$WidgetMapper_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$WidgetMapper'), Lcom_google_gwt_user_client_ui_HTMLTable$WidgetMapper$FreeNode_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$WidgetMapper$FreeNode'), Lcom_google_gwt_user_client_ui_HTMLTable$WidgetMapper$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$WidgetMapper$1'), Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasHorizontalAlignment$HorizontalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasVerticalAlignment$VerticalAlignmentConstant'), Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HorizontalPanel'), Lcom_google_gwt_user_client_ui_HorizontalSplitPanel$Impl_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HorizontalSplitPanel$Impl'), Lcom_google_gwt_user_client_ui_SplitPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SplitPanel'), Lcom_google_gwt_user_client_ui_HorizontalSplitPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HorizontalSplitPanel'), Lcom_google_gwt_user_client_ui_HorizontalSplitPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HorizontalSplitPanel$1'), Lcom_google_gwt_user_client_ui_HorizontalSplitPanelImages_1generatedBundle_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HorizontalSplitPanelImages_generatedBundle'), Lcom_google_gwt_user_client_ui_Image_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image'), Lcom_google_gwt_user_client_ui_Image$State_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$State'), Lcom_google_gwt_user_client_ui_Image$ClippedState_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$ClippedState'), Lcom_google_gwt_user_client_ui_Image$ClippedState$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$ClippedState$1'), Lcom_google_gwt_user_client_ui_KeyboardListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'KeyboardListenerCollection'), Lcom_google_gwt_user_client_ui_ListBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ListBox'), Lcom_google_gwt_user_client_ui_TextBoxBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TextBoxBase'), Lcom_google_gwt_user_client_ui_TextBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TextBox'), Lcom_google_gwt_user_client_ui_PushButton_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PushButton'), Lcom_google_gwt_user_client_ui_RichTextArea_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RichTextArea'), Lcom_google_gwt_user_client_ui_RichTextArea$FontSize_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RichTextArea$FontSize'), Lcom_google_gwt_user_client_ui_RichTextArea$Justification_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RichTextArea$Justification'), Lcom_google_gwt_user_client_ui_RootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel'), Lcom_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$DefaultRootPanel'), Lcom_google_gwt_user_client_ui_RootPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$1'), Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel$1'), _3Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'Widget;'), Lcom_google_gwt_user_client_ui_TabBar_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabBar'), Lcom_google_gwt_user_client_ui_TabBar$ClickDelegatePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabBar$ClickDelegatePanel'), Lcom_google_gwt_user_client_ui_TabListenerCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabListenerCollection'), Lcom_google_gwt_user_client_ui_TabPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabPanel'), Lcom_google_gwt_user_client_ui_TabPanel$TabbedDeckPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabPanel$TabbedDeckPanel'), Lcom_google_gwt_user_client_ui_TabPanel$UnmodifiableTabBar_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabPanel$UnmodifiableTabBar'), Lcom_google_gwt_user_client_ui_TextArea_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TextArea'), Lcom_google_gwt_user_client_ui_TextBoxBase$TextAlignConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TextBoxBase$TextAlignConstant'), Lcom_google_gwt_user_client_ui_ToggleButton_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ToggleButton'), Lcom_google_gwt_user_client_ui_VerticalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'VerticalPanel'), Lcom_google_gwt_user_client_ui_VerticalSplitPanel$Impl_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'VerticalSplitPanel$Impl'), Lcom_google_gwt_user_client_ui_VerticalSplitPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'VerticalSplitPanel'), Lcom_google_gwt_user_client_ui_VerticalSplitPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'VerticalSplitPanel$1'), Lcom_google_gwt_user_client_ui_VerticalSplitPanelImages_1generatedBundle_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'VerticalSplitPanelImages_generatedBundle'), Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection'), Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection$WidgetIterator'), Lcom_google_gwt_user_client_ui_WidgetIterators$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetIterators$1'), Lcom_google_gwt_user_client_CommandCanceledException_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandCanceledException'), Lcom_google_gwt_user_client_CommandExecutor_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor'), Lcom_google_gwt_user_client_CommandExecutor$CircularIterator_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$CircularIterator'), Lcom_google_gwt_user_client_CommandExecutor$1_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$1'), Lcom_google_gwt_user_client_CommandExecutor$2_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$2'), Lcom_google_gwt_user_client_Timer$1_2_classLit = createForClass('com.google.gwt.user.client.', 'Timer$1'), Lcom_web_1bloks_content_client_ConditionChecker_2_classLit = createForClass('com.web_bloks.content.client.', 'ConditionChecker'), Lcom_web_1bloks_content_client_ConditionCode_2_classLit = createForEnum('com.web_bloks.content.client.', 'ConditionCode'), Lcom_web_1bloks_content_client_FlowManager_2_classLit = createForClass('com.web_bloks.content.client.', 'FlowManager'), Lcom_web_1bloks_content_client_FlowManager$Response_2_classLit = createForClass('com.web_bloks.content.client.', 'FlowManager$Response'), Lcom_web_1bloks_content_client_FlowManager$ResponseCode_2_classLit = createForEnum('com.web_bloks.content.client.', 'FlowManager$ResponseCode'), Lcom_web_1bloks_url_client_UrlFields_2_classLit = createForClass('com.web_bloks.url.client.', 'UrlFields'), Lcom_web_1bloks_content_client_PortalManager_2_classLit = createForClass('com.web_bloks.content.client.', 'PortalManager'), Lcom_web_1bloks_content_client_PortalManager$Response_2_classLit = createForClass('com.web_bloks.content.client.', 'PortalManager$Response'), Lcom_web_1bloks_content_client_PortalManager$ResponseCode_2_classLit = createForEnum('com.web_bloks.content.client.', 'PortalManager$ResponseCode'), Lcom_web_1bloks_content_client_PortalManager$NavigateCommand_2_classLit = createForClass('com.web_bloks.content.client.', 'PortalManager$NavigateCommand'), Lcom_web_1bloks_content_client_TitleAccessList_2_classLit = createForClass('com.web_bloks.content.client.', 'TitleAccessList'), Lcom_web_1bloks_content_client_ViewManager_2_classLit = createForClass('com.web_bloks.content.client.', 'ViewManager'), Lcom_web_1bloks_content_client_ViewManager$Response_2_classLit = createForClass('com.web_bloks.content.client.', 'ViewManager$Response'), Lcom_web_1bloks_content_client_ViewManager$ResponseCode_2_classLit = createForEnum('com.web_bloks.content.client.', 'ViewManager$ResponseCode'), Lcom_web_1bloks_document_client_DocumentLoader_2_classLit = createForClass('com.web_bloks.document.client.', 'DocumentLoader'), Lcom_web_1bloks_document_client_DocumentLoaderResponse_2_classLit = createForClass('com.web_bloks.document.client.', 'DocumentLoaderResponse'), Lcom_web_1bloks_document_client_DocumentManager_2_classLit = createForClass('com.web_bloks.document.client.', 'DocumentManager'), Lcom_web_1bloks_document_client_DocumentObject_2_classLit = createForClass('com.web_bloks.document.client.', 'DocumentObject'), Lcom_web_1bloks_document_client_Namespace_2_classLit = createForClass('com.web_bloks.document.client.', 'Namespace'), Lcom_web_1bloks_document_client_Namespace$Code_2_classLit = createForEnum('com.web_bloks.document.client.', 'Namespace$Code'), Lcom_web_1bloks_document_client_NamespaceException_2_classLit = createForClass('com.web_bloks.document.client.', 'NamespaceException'), Lcom_web_1bloks_document_client_Namespaces_2_classLit = createForClass('com.web_bloks.document.client.', 'Namespaces'), Lcom_web_1bloks_document_client_Title_2_classLit = createForClass('com.web_bloks.document.client.', 'Title'), Lcom_web_1bloks_document_client_Title$Code_2_classLit = createForEnum('com.web_bloks.document.client.', 'Title$Code'), Lcom_web_1bloks_document_client_TitleException_2_classLit = createForClass('com.web_bloks.document.client.', 'TitleException'), Lcom_web_1bloks_http_client_HttpCall_2_classLit = createForClass('com.web_bloks.http.client.', 'HttpCall'), Lcom_web_1bloks_http_client_HtmlPostCall_2_classLit = createForClass('com.web_bloks.http.client.', 'HtmlPostCall'), Lcom_web_1bloks_http_client_JSONCall_2_classLit = createForClass('com.web_bloks.http.client.', 'JSONCall'), Lcom_web_1bloks_project_client_AppConditionChecker_2_classLit = createForClass('com.web_bloks.project.client.', 'AppConditionChecker'), Lcom_web_1bloks_project_client_AppFlowManager_2_classLit = createForClass('com.web_bloks.project.client.', 'AppFlowManager'), Lcom_web_1bloks_project_client_AppNamespaces_2_classLit = createForClass('com.web_bloks.project.client.', 'AppNamespaces'), Lcom_web_1bloks_project_client_AppPortalManager_2_classLit = createForClass('com.web_bloks.project.client.', 'AppPortalManager'), Lcom_web_1bloks_project_client_AppTitleAccessList_2_classLit = createForClass('com.web_bloks.project.client.', 'AppTitleAccessList'), Lcom_web_1bloks_project_client_AppUserMessageManager_2_classLit = createForClass('com.web_bloks.project.client.', 'AppUserMessageManager'), Lcom_web_1bloks_project_client_AppViewManager_2_classLit = createForClass('com.web_bloks.project.client.', 'AppViewManager'), Lcom_web_1bloks_storage_client_GearsOffline_2_classLit = createForClass('com.web_bloks.storage.client.', 'GearsOffline'), Lcom_web_1bloks_user_client_User_2_classLit = createForClass('com.web_bloks.user.client.', 'User'), Lcom_web_1bloks_project_pages_client_Base_2_classLit = createForClass('com.web_bloks.project.pages.client.', 'Base'), Lcom_web_1bloks_project_client_main_2_classLit = createForClass('com.web_bloks.project.client.', 'main'), Lcom_web_1bloks_project_pages_client_Base$1_2_classLit = createForClass('com.web_bloks.project.pages.client.', 'Base$1'), Lcom_web_1bloks_project_pages_client_EditPage_2_classLit = createForClass('com.web_bloks.project.pages.client.', 'EditPage'), Lcom_web_1bloks_project_pages_client_EditPage$1_2_classLit = createForClass('com.web_bloks.project.pages.client.', 'EditPage$1'), Lcom_web_1bloks_project_pages_client_EditPage$2_2_classLit = createForClass('com.web_bloks.project.pages.client.', 'EditPage$2'), Lcom_web_1bloks_project_pages_client_EditPage$3_2_classLit = createForClass('com.web_bloks.project.pages.client.', 'EditPage$3'), Lcom_web_1bloks_project_pages_client_EditPage$4_2_classLit = createForClass('com.web_bloks.project.pages.client.', 'EditPage$4'), Lcom_web_1bloks_project_pages_client_EditPage$5_2_classLit = createForClass('com.web_bloks.project.pages.client.', 'EditPage$5'), Lcom_web_1bloks_project_pages_client_EditPage$5$1_2_classLit = createForClass('com.web_bloks.project.pages.client.', 'EditPage$5$1'), Lcom_web_1bloks_project_pages_client_EditPage$6_2_classLit = createForClass('com.web_bloks.project.pages.client.', 'EditPage$6'), Lcom_web_1bloks_project_pages_client_EditPage$6$1_2_classLit = createForClass('com.web_bloks.project.pages.client.', 'EditPage$6$1'), Lcom_web_1bloks_project_pages_client_MainPage_2_classLit = createForClass('com.web_bloks.project.pages.client.', 'MainPage'), Lcom_web_1bloks_storage_client_GearsLocalStorageTemplate_2_classLit = createForClass('com.web_bloks.storage.client.', 'GearsLocalStorageTemplate'), Lcom_web_1bloks_storage_client_GearsOffline$GearsEventHandler_2_classLit = createForClass('com.web_bloks.storage.client.', 'GearsOffline$GearsEventHandler'), Lcom_web_1bloks_storage_client_LocalStorageException_2_classLit = createForClass('com.web_bloks.storage.client.', 'LocalStorageException'), Lcom_web_1bloks_storage_client_RecentList_2_classLit = createForClass('com.web_bloks.storage.client.', 'RecentList'), Lcom_web_1bloks_storage_client_RecentListEntry_2_classLit = createForClass('com.web_bloks.storage.client.', 'RecentListEntry'), Lcom_web_1bloks_storage_client_SimpleRecentList_2_classLit = createForClass('com.web_bloks.storage.client.', 'SimpleRecentList'), Lcom_web_1bloks_types_client_SimpleMap_2_classLit = createForClass('com.web_bloks.types.client.', 'SimpleMap'), Lcom_web_1bloks_types_client_StateType_2_classLit = createForEnum('com.web_bloks.types.client.', 'StateType'), Lcom_web_1bloks_widget_client_EditPageWidget_2_classLit = createForClass('com.web_bloks.widget.client.', 'EditPageWidget'), Lcom_web_1bloks_widget_client_GearsStatus_2_classLit = createForClass('com.web_bloks.widget.client.', 'GearsStatus'), Lcom_web_1bloks_widget_client_ImgAnchor_2_classLit = createForClass('com.web_bloks.widget.client.', 'ImgAnchor'), Lcom_web_1bloks_widget_client_LoginLogoutWidget_2_classLit = createForClass('com.web_bloks.widget.client.', 'LoginLogoutWidget'), Lcom_web_1bloks_widget_client_LoginLogoutWidget$State_2_classLit = createForEnum('com.web_bloks.widget.client.', 'LoginLogoutWidget$State'), Lcom_web_1bloks_widget_client_LogoWidget_2_classLit = createForClass('com.web_bloks.widget.client.', 'LogoWidget'), Lcom_web_1bloks_widget_client_RecentListWidget_2_classLit = createForClass('com.web_bloks.widget.client.', 'RecentListWidget'), _3Lcom_google_gwt_user_client_ui_RichTextArea$FontSize_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'RichTextArea$FontSize;'), Lcom_web_1bloks_widget_client_RichTextToolbarWidget_2_classLit = createForClass('com.web_bloks.widget.client.', 'RichTextToolbarWidget'), Lcom_web_1bloks_widget_client_RichTextToolbarWidget$EventListener_2_classLit = createForClass('com.web_bloks.widget.client.', 'RichTextToolbarWidget$EventListener'), Lcom_web_1bloks_widget_client_StatusWidget_2_classLit = createForClass('com.web_bloks.widget.client.', 'StatusWidget'), Lcom_web_1bloks_widget_client_UserMessageWidget_2_classLit = createForClass('com.web_bloks.widget.client.', 'UserMessageWidget'), Lcom_web_1bloks_widget_client_UserMessageWidget$1_2_classLit = createForClass('com.web_bloks.widget.client.', 'UserMessageWidget$1'), Lcom_web_1bloks_widget_client_ViewSourceWidget_2_classLit = createForClass('com.web_bloks.widget.client.', 'ViewSourceWidget'), Ljava_lang_IndexOutOfBoundsException_2_classLit = createForClass('java.lang.', 'IndexOutOfBoundsException'), Ljava_lang_ArrayStoreException_2_classLit = createForClass('java.lang.', 'ArrayStoreException'), Ljava_lang_Boolean_2_classLit = createForClass('java.lang.', 'Boolean'), Ljava_lang_Number_2_classLit = createForClass('java.lang.', 'Number'), _3C_classLit = createForArray('', '[C'), Ljava_lang_Class_2_classLit = createForClass('java.lang.', 'Class'), Ljava_lang_ClassCastException_2_classLit = createForClass('java.lang.', 'ClassCastException'), Ljava_lang_Double_2_classLit = createForClass('java.lang.', 'Double'), Ljava_lang_IllegalArgumentException_2_classLit = createForClass('java.lang.', 'IllegalArgumentException'), Ljava_lang_IllegalStateException_2_classLit = createForClass('java.lang.', 'IllegalStateException'), _3I_classLit = createForArray('', '[I'), Ljava_lang_NullPointerException_2_classLit = createForClass('java.lang.', 'NullPointerException'), Ljava_lang_NumberFormatException_2_classLit = createForClass('java.lang.', 'NumberFormatException'), Ljava_lang_String_2_classLit = createForClass('java.lang.', 'String'), Ljava_lang_StringBuffer_2_classLit = createForClass('java.lang.', 'StringBuffer'), Ljava_lang_StringBuilder_2_classLit = createForClass('java.lang.', 'StringBuilder'), Ljava_lang_UnsupportedOperationException_2_classLit = createForClass('java.lang.', 'UnsupportedOperationException'), _3Ljava_lang_Object_2_classLit = createForArray('[Ljava.lang.', 'Object;'), Ljava_util_AbstractMap_2_classLit = createForClass('java.util.', 'AbstractMap'), Ljava_util_AbstractHashMap_2_classLit = createForClass('java.util.', 'AbstractHashMap'), Ljava_util_AbstractSet_2_classLit = createForClass('java.util.', 'AbstractSet'), Ljava_util_AbstractHashMap$EntrySet_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySet'), Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySetIterator'), Ljava_util_AbstractMapEntry_2_classLit = createForClass('java.util.', 'AbstractMapEntry'), Ljava_util_AbstractHashMap$MapEntryNull_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryNull'), Ljava_util_AbstractHashMap$MapEntryString_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryString'), Ljava_util_AbstractList$IteratorImpl_2_classLit = createForClass('java.util.', 'AbstractList$IteratorImpl'), Ljava_util_AbstractMap$1_2_classLit = createForClass('java.util.', 'AbstractMap$1'), Ljava_util_AbstractMap$1$1_2_classLit = createForClass('java.util.', 'AbstractMap$1$1'), Ljava_util_Collections$UnmodifiableCollection_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableCollection'), Ljava_util_Collections$UnmodifiableList_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableList'), Ljava_util_Collections$UnmodifiableMap_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableMap'), Ljava_util_Collections$UnmodifiableSet_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableSet'), Ljava_util_Collections$UnmodifiableMap$UnmodifiableEntrySet_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableMap$UnmodifiableEntrySet'), Ljava_util_Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry'), Ljava_util_Collections$UnmodifiableMap$UnmodifiableEntrySet$1_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableMap$UnmodifiableEntrySet$1'), Ljava_util_Collections$UnmodifiableRandomAccessList_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableRandomAccessList'), Ljava_util_Collections$UnmodifiableCollectionIterator_2_classLit = createForClass('java.util.', 'Collections$UnmodifiableCollectionIterator'), Ljava_util_Collections$2_2_classLit = createForClass('java.util.', 'Collections$2'), Ljava_util_HashMap_2_classLit = createForClass('java.util.', 'HashMap'), Ljava_util_HashSet_2_classLit = createForClass('java.util.', 'HashSet'), Ljava_util_MapEntryImpl_2_classLit = createForClass('java.util.', 'MapEntryImpl'), Ljava_util_NoSuchElementException_2_classLit = createForClass('java.util.', 'NoSuchElementException'), Ljava_util_Vector_2_classLit = createForClass('java.util.', 'Vector'), _3Lcom_google_gwt_core_client_JavaScriptObject_2_classLit = createForArray('[Lcom.google.gwt.core.client.', 'JavaScriptObject$;');
$stats && $stats({moduleName:'com.web_bloks.project.main',subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalEnd'});
if ($wnd.com_web_bloks_project_main) $wnd.com_web_bloks_project_main.onScriptLoad();
--></script></body></html>
